wyz20010429 发表于 2021-8-2 15:43:20

为什莫status等于==1而不是随着我输入的数字改变而改变

{:10_243:} 求助大佬解答

青出于蓝 发表于 2021-8-2 15:44:25

因为status不等于1是不会跳出循环的

小小的窝 发表于 2021-8-2 15:44:50

你看下甲鱼老师那个链接

wyz20010429 发表于 2021-8-2 15:48:40

青出于蓝 发表于 2021-8-2 15:45
这里是do while结构
do
代码


我不太明白为什莫status会输出1这个值,正常不是我用scanf接受我打的字符串码?那不应该我打出啥,scanf就接受啥吗?,为什莫一直是1呀

青出于蓝 发表于 2021-8-2 15:49:27


这里的stauts是存贮scanf的返回值
scanf如果用户成功输入一个变量,那么返回1,成功输入2个,返回2,依次类推
如果输入不成功(stauts就是0),就一直循环,一直要求用户输入

wyz20010429 发表于 2021-8-2 15:49:59

小小的窝 发表于 2021-8-2 15:44
你看下甲鱼老师那个链接

返回值:
如果函数调用成功,返回值是成功获取并填充到附加参数中的个数。

如果函数调用失败,返回值小于附加参数的个数(甚至是 0)。

如果读取到标准输入流的结尾处,则返回 EOF。,我就不是太懂返回不也应该是获取我打的字符串吗


青出于蓝 发表于 2021-8-2 15:50:51

wyz20010429 发表于 2021-8-2 15:48
我不太明白为什莫status会输出1这个值,正常不是我用scanf接受我打的字符串码?那不应该我打出啥,scanf ...

刚才没仔细看问题...抱歉
关于scanf返回值,跟您找了篇文章
https://www.douban.com/note/220299804/

wyz20010429 发表于 2021-8-2 15:53:45

青出于蓝 发表于 2021-8-2 15:50
刚才没仔细看问题...抱歉
关于scanf返回值,跟您找了篇文章
https://www.douban.com/note/220299804/

感谢感谢{:10_279:}

小小的窝 发表于 2021-8-2 15:54:54

你看看这个
页: [1]
查看完整版本: 为什莫status等于==1而不是随着我输入的数字改变而改变