这句是什么意思,谁知道

hello0world 2007-10-16 06:55:26
while(scanf("%d",&number)==1)
这个循环条件看不懂啊
很多时候不能成立啊
高手解释下
谢谢
...全文
119 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zou85 2007-10-16
  • 打赏
  • 举报
回复
while以istream问条件测试流的状态,如果流是有效的,就是读入输入是有效的,那么成功并执行循环
quentinliu 2007-10-16
  • 打赏
  • 举报
回复
Scanf函数返回值就是读出的变量个数,如:scanf( “%d %d”, &a, &b ); 如果只有一个整数输入,返回值是1,如果有两个整数输入,返回值是2,如果一个都没有,则返回值是-1。
tangshuiling 2007-10-16
  • 打赏
  • 举报
回复
楼上正解,scanf的函数原型是_CRTIMP int __cdecl scanf(const char *, ...);返回值是int型,根据number得到正确的值,scanf返回1否则返回0,至于==1不用考虑,本表达式有没有它结果是相同的。
0黄瓜0 2007-10-16
  • 打赏
  • 举报
回复
scanf("%d",&number)==1

如果输入的是一个数字,则number得到正确的值,scanf返回1,假设你输入一个字母,number得不到正确值,scanf返回0.

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧