while (scanf("%d%d", &m, &n))什么意思? 200
3个回答
展开全部
循环从终端读入整型数值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)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询