while (scanf("%d%d", &m, &n))什么意思?

如题所述

循环从终端读入整型数值m和n。 直到scanf返回值为0.

scanf的返回值是实际赋值的变量个数。在这里,如输入正常,那么scanf会对m和n赋值,返回值应为2.

用返回值为0作为结束条件是不严谨的。 正确做法有两种:

1 可以保证输入不会出现非法数据的情况,可以用EOF做结束标记,写作:

while (scanf("%d%d", &m, &n) != EOF)

或者

while (~scanf("%d%d", &m, &n))

2 输入可能有错误数据,当非法时结束,写作

while (scanf("%d%d", &m, &n) == 2)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-25
循环从终端输入两个整型数
第2个回答  2017-08-23
当输入为整形的m和n时

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网