2 nishenghao nishenghao 于 2017.09.01 13:25 提问

while(!scanf("%d",&n)) 这个条件是怎么判断的?
c

不明白这个条件怎么判断,另外循环里还有一句fflush(stdin)也没懂什么意思,求大神指教

6个回答

shenshucong520
shenshucong520   2017.09.01 13:47

scanf是个函数,怎么判断就要看他的返回值了吗,你去了解下这个函数的返回值就知道他的结束条件是什么了

jack0201
jack0201 回复nishenghao: 不是
3 个月之前 回复
nishenghao
nishenghao 是不是就是判断!n?
3 个月之前 回复
jack0201
jack0201   2017.09.01 13:58

scanf()返回的是符合格式的变量的个数,scanf("%d",&n)返回值就是输入的整数的个数。
现在这个条件的判断是当输入整数的为0的话,进入while循环。fflush(stdin)是为了清空输入缓冲区的缓存。
一般用在scanf之前,确保scanf接收到正确的输入内容。

KKYY100
KKYY100   2017.09.01 14:05

scanf()返回的是符合格式的变量的个数,fflush(stdin)是为了清空输入缓冲区的缓存

XianRenShan
XianRenShan   2017.09.01 14:20

scanf是输入函数,
scanf(“%d”,&n)就是让你输入一个整数,并且把你输入的数字赋值给变量n,&是取地址操作符,获取变量n的地址

zhang_guyuan
zhang_guyuan   2017.09.05 12:22

scanf实际上是c的一个标准库函数,会返回一个value。

qq_31672775
qq_31672775   2017.10.06 11:54

输入的不是数字,scanf返回的是true;同理,输入的是数字,scanf返回的是false。前面那个感叹号是读作“非”,也就是,非等于。。

Csdn user default icon
上传中...
上传图片
插入图片