scanf函数有返回值,它返回的是成功输入的变量个数,当输入结束时,scanf函数无法再次读取x,将返回0。
输入“2 8 3 5 1 7 3 6”,按Enter键,但未显示结果。空格、TAB和回车符都是无关紧要的,所以按Enter键并不意味着输入的结束。那如何才能告诉程序输入结束了呢?
- 提示2-19:在Windows下,输入完毕后先按Enter键,再按Ctrl+Z键,最后再按Enter 键,即可结束输入。在Linux下,输入完毕后按Ctrl+D键即可结束输入。
输入终于结束了,但输出却是“1 2293624 4.375”?max未赋初值
- 提示2-20:变量在未赋值之前的值是不确定的。特别地,它不一定等于0。
使用文件最简单的方法是使用输入输出重定向,只需在main函数的入口处加入以下两条 语句: freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); 上述语句将使得scanf从文件input.txt读入,printf写入文件output.txt。