for 课后作业
#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;
}
while语句里的表达式我看不懂它与do的逻辑关系,求老师同学帮助 do while 语句表示先执行 do 后面的代码块,再判断 while 后面的条件,如果条件为假则跳出循环,否则继续执行 do 后的代码,直到 while 后面的条件为假时停止。 do 是循环语句块的开头,while 是循环语句块的结尾,每次循环都是从 do 开始,到 while 结尾,while 负责检测逻辑表达式 status == 1 是否成立,如果成立,就继续循环,否则,就结束循环。 jackz007 发表于 2019-9-22 10:25
do 是循环语句块的开头,while 是循环语句块的结尾,每次循环都是从 do 开始,到 while 结尾,while ...
为什么是status==1啊 本帖最后由 jackz007 于 2019-9-22 10:37 编辑
15029975132 发表于 2019-9-22 10:30
为什么是status==1啊
status = scanf("%d", &num);
status 是 scanf() 的返回值,是用来指示成功获取指定类型键盘输入的参数个数,在本例中,如果从键盘输入中获取到 1 个整型数,那么,status 的值就是 1,否则,就是 0,这就是这个变量的来历和意义。
jackz007 发表于 2019-9-22 10:35
status 是 scanf() 的返回值,是用来指示成功获取指定类型键盘输入的参数个数,在本例中, ...
谢谢 好有意思的问题,学习了一把
页:
[1]