大家帮我看看这段代码呗
从标准输入读入几个整数,放入array中,如果遇到输入错误就退出。代码如下:
程序代码:
int len = 5, i; int *array; array = malloc(len * sizeof(int)); for (i = 0; i < len; i++) { printf("#%d : ", i); if (scanf("%d", array + i) != 1) { puts("Error input number."); exit(EXIT_FAILURE); } }
运行一次程序,出现如下的结果:
#0 : 1.2
#1 : Error input number.
可是我期待的结果应该是:
#0 : 1.2
Error input number.
有大神能帮我解释原因么?