我有以下代码:
#include <stdio.h>
int main(int argc, char **argv) {
int arr[2];
arr[0] = 0;
arr[1] = 0;
int end = 0;
int i;
for (i=0; i<2 ; i++){
scanf(" num %d", &arr[i]);
}
scanf(" end %d", &end);
printf("arr0 %d \n", arr[0]);
printf("arr1 %d \n", arr[1]);
printf("end %d \n", end);
}
对于输入:
num 1
num 2
end 3
它工作得很好。但它也适用于下一个输入:
num 1
end 2
它如何知道结束 for 循环并评估最后一个 scanf?为什么不失败?