永远Forever 发表于 2022-9-25 16:09:59

想问问大佬这几条代码的意思

int status;

status = scanf("%d", &num);

while(status == 1);

在for语句课后作业中看到的,主要不理解这个"status"

柿子饼同学 发表于 2022-9-25 16:14:17

status 是 int 类型 , 也就是整数
第二行意思是输入 status
第三行意思是 如果 status 为 1, 就一直做什么什么事情

嘉岳呀 发表于 2022-9-25 16:14:18

status 就是用户自己定义的一个变量名

定义变量的方法如下:

数据类型(int) 变量名(status);

可以把 statuts 理解成数学里面的 a ,但是值是用户自己赋的

fcage 发表于 2022-9-25 17:47:14

status就是一个变量,像a、b、x、y
这个名字看着不理解只是因为它是有一定意义的,就是它的名字代表了它的作用:
status是状态的意思,它的值为scanf的返回值,而scanf会返回读取到的目标数据的个数,当输入一个int类型时,它能成功读取,就返回1,此时status的值就是1;当输入没有int时,scanf没有读取到东西,返回0,此时status的值是0,就不满足循环条件了,从而退出循环。
所以这个status就是起控制循环的作用。

其实代码也可以不用status,简写为:
while(scanf("%d", &num));
页: [1]
查看完整版本: 想问问大佬这几条代码的意思