关于循环中scanf简单求和问题
scanf求和 与 scanf调用值循环体中(某一段代码)
printf("请输入合法的数字:");
sum = sum + num;
status = scanf("%d", &num);
printf("请输入合法数字:");
scanf("%d",&num);
sum=sum+num;
status=scanf("%d",&num);
printf("请输入合法数字:");
status=scanf("%d",&num);
sum=sum+num;
为什么后两个是错误的?scanf不应该在求和公式前面吗?求助!!!! 放完整代码 scanf是有缓冲区的一般最后那个\n就是回车还留在里面等着下一个scanf吸收,如果不用getChar的话下面那个scanf就收到\n直接返回了 wp231957 发表于 2022-4-22 06:34
放完整代码
#include<stdio.h>
int main()
{
int num=0;
long int sum=0L;
int status;
do
{
printf("请输入合法数字:");
scanf("%d",&num);
sum=sum+num;
status=scanf("%d",&num);
}
while(status==1);
printf("结果是:%ld\n",sum);
return 0;
} 67L1 发表于 2022-4-22 23:52
为什么循环体这个scanf 求和sum 返回值status 的顺序是错误的呢? 作业答案里 是先得返回值status再求和 sum=sum+num 但如果不先用scanf给num赋值求和的时候 计算机怎么知道num里面的数是啥 #include<stdio.h>
int main()
{
int num=0;
long int sum=0L;
int status;
do
{
printf("请输入合法数字:");
sum=sum+num;
status=scanf("%d",&num);
}
while(status==1);
printf("结果是:%ld\n",sum);
return 0;
}
页:
[1]