S1E14动动手1,代码中一个判断条件求助
求助 为什么以status==1作为判断条件?status是否应该等于上一次循环的num值而不是1?原问题
1. 写一个程序,对用户输入的整数进行求和。当用户输入任意字符时,结束程序并打印结果。
#include <stdio.h>
int main()
{
int num = 0;
long sum = 0L; // 0L表示类型为long的0
int status;
do
{
printf("请输入合法的数字:");
sum = sum + num;
status = scanf("%d", &num);
} while(status == 1);
printf("结果是:%ld\n", sum);
return 0;
} scanf是有返回值的,如果成功接收到输入了就返回1,否则返回其他值(记不太清楚了) 判断条件是scanf的返回值,而不是输入的值
如果正常输入了数据,那么scanf返回了1,就继续循环,否则退出循环
页:
[1]