작성
·
230
1
int main()
{
for (int = 1, i <= 10; ++i)
printf("%d", i);
return 0;
}
이게 코드인데 그 표에는 i++로 되어 있더라고요.
for문을 설명 안 듣고 봤을 때는
for (int = 1, i <= 10; i++) 이거는 i <= 비교한 다음 i를 증가시키는 거 구나 라고 생각했는데 그게 아니라
+1하고 <=를 비교한다고 하더라고요 그러면
int main()
{
for (int = 1, i <= 10; ++i)
printf("%d", i);
return 0;
}
이거랑
int main()
{
for (int = 1, i <= 10; i++)
printf("%d", i);
return 0;
}
이거는 아무런 차이가 없는 것 인가요??
답변 1
1
결과적으로 둘다 아무런 차이가 없습니다.
왜냐하면 ++i (전위연산자) 또는 i++ (후위연산자)는 단독으로 사용했을 때는 차이가 없기 때문입니다.
for 반복문의 구조를 보시면 for (초기식; 조건식; 증감식) 으로 구성되어 있는데, 증감식 부분에 i++ 또는 ++i 코드만 단독으로 들어가 있기 때문에 차이가 없게 됩니다.
다만, 연산자를 사용한 뒤 다른 변수에 할당할 때는 위치에 따라 큰 차이가 있을 수 있습니다.
Ex) result = num1++; // num1의 값을 result에 할당한 뒤 num1의 값을 1 증가시킴
result = ++num1; // num1의 값을 1 증가시킨 뒤 result에 할당