작성
·
154
0
강의 중 19:00의 bad practices 예제에 대해 질문 드립니다.
#include <stdio.h>
int main(void)
{
int n = 1;
printf("%d, %d\n", n, n * n++);
return 0;
}
를 컴파일하니 2, 2가 출력되는데 왜 그런 것인가요?? 1, 1아닌가요??
답변 1
0
안녕하세요?
이 부분은 강의에서도 설명했다시피 사용하지 않는 편이 좋습니다.
Stephen Prata, C primer plus, 6th ed. 166 pp. 에서는 다음과 같이 언급하고 있습니다.
'This looks reasonable. You print the number num , multiply it by itself to get the square, and then increase num by 1. In fact, this program may even work on some systems, but not all.'