以下是引用cnfarer在2011-11-18 21:59:12的发言:
作者的原意是当出现这样的失误时,编译器是照常通过的,能执行,在某些情况下似乎\甚至能得到想要的结果(14楼小兄弟的结果可以为证).不过这就是个陷阱,程序中如果出现这样的失误,后果将可能不堪设想.按原意,应该是分5次输入5个字符(每次加回车),输出0--4的5个数字.这个scanf可能会导致的结果:只输入一个字符(回车),就能输出0 1 2 3 4(分行),也可能会进入死循环或得到类似14楼的结果.当然有些编译器可能比较聪明,会提出警告信息.
楼主可以试一下,小弟试的结果是输入了5次才出现楼上图片中的效果..而不是只输入一个字符。