void main(void)
{
int n = 0, t = 0;
do
{
t+=n;
printf("n=%2d, t=%2d/n", n++, t);
}
while(n<10);
}
1. 해당 문제에서 t+=n; 은 t=t+n 값으로 n의 값을 t에 누적하라고 나와있는데 이 부분이 이해가 안갑니다..
2. n++ : n=n+1 이므로 먼저 변수를 명령문에 사용한 다음 변수의 값을 증가시키는 즉, n의 값을 출력한 후 1을 증가시킨다는 부분이 이해가 안갑니다!
안녕하세요. 길벗 수험서 운영팀입니다.
초기값은 int n = 0, t = 0입니다.
첫 번째 t += n은 t = t+n의 의미이므로 t = 0+0 = 0입니다.
첫 번째 결과값은 t=0, n=0입니다.
printf(“n=%2d, t=%2d\n”, n++, t);에서 n++은 n = n+1의 의미로 n = 0+1 = 1이 됩니다.
그래서 t=0, n=1이 됩니다.
while(n<10)은 n이 10이하 즉, 0부터 9까지 위의 식을 반복하면 됩니다.
두 번째 t = t+n은 t = 0이고, n = 1이므로 t = 0+1 = 1입니다.
그래서 t = 1, n = 1입니다.
n++로 인해 n = 2가 되므로, t = 1, n = 2입니다.
세 번째 t = t+n은 t = 1이고, n = 2이므로 t = 1+2 = 3입니다.
그래서 t = 3, n = 2입니다.
n++로 인해 n = 3이 되므로, t = 3, n = 3입니다.
이런식으로 n=10일 때까지 t = t+n을 반복해 주면 다음 표와 같은 것입니다.
행복한 하루되세요.^^
-
관리자2020-06-01 09:32:51
안녕하세요. 길벗 수험서 운영팀입니다.
초기값은 int n = 0, t = 0입니다.
첫 번째 t += n은 t = t+n의 의미이므로 t = 0+0 = 0입니다.
첫 번째 결과값은 t=0, n=0입니다.
printf(“n=%2d, t=%2d\n”, n++, t);에서 n++은 n = n+1의 의미로 n = 0+1 = 1이 됩니다.
그래서 t=0, n=1이 됩니다.
while(n<10)은 n이 10이하 즉, 0부터 9까지 위의 식을 반복하면 됩니다.
두 번째 t = t+n은 t = 0이고, n = 1이므로 t = 0+1 = 1입니다.
그래서 t = 1, n = 1입니다.
n++로 인해 n = 2가 되므로, t = 1, n = 2입니다.
세 번째 t = t+n은 t = 1이고, n = 2이므로 t = 1+2 = 3입니다.
그래서 t = 3, n = 2입니다.
n++로 인해 n = 3이 되므로, t = 3, n = 3입니다.
이런식으로 n=10일 때까지 t = t+n을 반복해 주면 다음 표와 같은 것입니다.
행복한 하루되세요.^^