请教关于scanf函数的问题
请大家看下面这个若干数求和的程序:#include <stdio.h>
main()
{ int a=0,sum=0;
printf("input data:");
scanf("%d",&a);
while(a!=0)
{printf("%4d",a);
sum=sum+a;
scanf("%d",&a);
}
printf("\nsum=%d\n",sum);
}
运行结果是:
input data:11 22 33 44 55 66 77 88 99 0 1 2 (Enter)
11 22 33 44 55 66 77 88 99
sum=495
这个程序很简单,我也看得懂,但是我有些地方不太明白:我认为是
当执行到printf时,就会有提示信息"input data:",然后用户输入一个数据a,如果数据不为0,则输出a,然后求和,之后用户再次输入一个数据,继续判断,如果输入的数是零则推出循环,并输出sum=?
可是根据书上的运行结果来看,数据是一次输入的,那么scanf和printf函数是怎么处理数据输入输出的,谁能帮我仔细分析一下?