while(scanf("%d",&n)!=EOF)与while(scanf("%d",&n))有什么区别!!急求

另外while(~scanf("%d",&n))与上面的两个有什么关系没有还有有些程序中会出现t>>=1这个中间的符号是什么意思啊,忘大神指教!!!在线等哦... 另外while(~scanf("%d",&n))与上面的两个有什么关系没有

还有有些程序中会出现t>>=1这个中间的符号是什么意思啊,忘大神指教!!!在线等哦
展开
 我来答
zsx10110
2012-04-05 · TA获得超过8872个赞
知道大有可为答主
回答量:2369
采纳率:66%
帮助的人:3088万
展开全部
如:
  scanf("%d,%d", &a, &b);
  如果a和b都被成功读入,那么scanf的返回值就是2
  如果只有a被成功读入,返回值为1
  如果a和b都未被成功读入,返回值为0
  如果遇到错误或遇到end of file,返回值为EOF。
你上边的两个都是看返回值来判断的 至于while(~scanf("%d",&n)) 没用过
t>>=1 即t = t >> 1 右移一位 再赋值 应该是
更多追问追答
追问
那是不是就是说while(scanf("%d",&n))是用来判断N是否为零,而while(scanf("%d",&n)!=EOF)是来判断有没有结尾符来结束掉它?
追答
while(scanf("%d",&n))就是判断a是否被成功读入 如果是 就继续while循环 如果没有 就跳出
duzhanzxs
2012-04-05 · TA获得超过341个赞
知道小有建树答主
回答量:264
采纳率:0%
帮助的人:250万
展开全部
最后一个简单
就是t = t>>1;右移一位操作.相当于除以2.
scanf的返回值是正确读入的元素个数,后面那个while(~...)没见过,但是意义很明显,正常情况是返回1,~表示按位取反,对1取反,这样其实没有多少实际意义.
scanf!=EOF常常用于判断是否结束输入( ctrl+Z(windows下)或者ctrl+D(unix下) )
while(scanf)即表示根据正确读入变量个数判断是否结束输入,这常常会出意想不到的出错.
简单实验一下应该可以得到较满意的答案.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Edward_pacific
2012-04-05
知道答主
回答量:27
采纳率:0%
帮助的人:13.7万
展开全部
好吧,我来回答剩下的问题while(~scanf("%d",&m)) ‘~’是取反符号,这就是说,只要scanf录入的不是符合要求的值,就会停止录入,^Z,^C都会退出,如果是非%d的输入流,就会出现根据编译器不同的结果……具体的我也不是很清楚,自己试试吧~
更多追问追答
追问
意思就是不让输入除了0~9以外的数?这么神。。。看来我要加把劲了。。。
追答
不是0-9 是 整型的范围内的数……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
热情牛肉炒饭
2017-09-03
知道答主
回答量:12
采纳率:0%
帮助的人:1.1万
引用zsx10110的回答:
如:
  scanf("%d,%d", &a, &b);
  如果a和b都被成功读入,那么scanf的返回值就是2
  如果只有a被成功读入,返回值为1
  如果a和b都未被成功读入,返回值为0
  如果遇到错误或遇到end of file,返回值为EOF。
你上边的两个都是看返回值来判断的 至于while(~scanf("%d",&n)) 没用过
t>>=1 即t = t >> 1 右移一位 再赋值 应该是
展开全部
知识1:只有-1取反(~-1)是0
知识2:scanf读入到EOF时返回-1
所以,while(~scanf)就是不断读取执行循环,直到eof(
和while(scanf("%d",&n)!=EOF)一个意思
)。一般这种用法在oj(确保数据正确)上使用,平常真的用不到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
昭君出九州春l
2012-04-06 · 贡献了超过196个回答
知道答主
回答量:196
采纳率:0%
帮助的人:46.1万
展开全部
scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。
~ 按位取反运算符
>>=右移后赋值运算符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式