노땅초보궁금한게 하나 있는데요..반복문(while문)초보자질문
찬솔나라
질문 제목 :while문 관련사항
질문 내용 :하기 소스와 관련해서 후위연산과 전위연산자의 차이점
#include stdio.h
int main(void)
{
int num;
int i=0;
printf(양의 정수 입력: );
scanf(%d, &num);
while(inum)
{
printf(Hello world! \n);
i++;
}
return 0;
}
위의 소스를 실행하면 5번의 hello world를num수만큼 출력하는것입니다.
제가 궁금한것은 ㅠ.ㅠ 소스는 i++ 후위증가로 했는데 ++i 하게되면 어떻게 되나요?
개인적으로 해보았는데. 똑같은 값이 나오는데요.
질문내용 : 후위증가 전위증가했을시에 나중에 문제가 발생하는 요소가 있나요?
-
미영
모든 문장에서 연산될때 세미콜론을 만낫을때입니다.
++i의 경우 선증가를 해서 세미콜론을 만났을 때 별 증가는없지만
i++이후 바로 세미콜론이 있으니 ++연산이 되는 것입니다. -
수리
i++나 ++i 는 위와 같이 단순히 그부분만 별도로 쓰이는것이라면 똑같습니다.
-
우수리
i++; 가 적힌 그 줄에서 후위 연산인지 전위 연산인지 하는 겁니다.
결과적으로 ++i 하는것과 i++ 하는것은 그줄에 이것밖에 없어서 어차피 같은 결과가 나오게 됩니다.
내부적으로 연산 하는 것을 생각해 본다면 틀리다는걸 알 수 있습니다. -
등대
먼저연산을 하고 증가를 시키느냐 증가를 시키고 연산을 하느냐의 차이라고 볼수 있고
위의 별사람님이 적어주신 내용처럼 직접 소스를 작성하고 결과를 보시면
이해가 쉬울거라고 생각합니다. -
찰스
음..아는분이 반복문에서 ++i로하는게 실행속도가 빠르다고하시던데 자세한 설명은 못들어서.ㅠㅠ
-
은율
i++ 과 ++i 는 상황에 따라 다른데.. 가령 printf(\%d\