我是在Visual Studio中使用C的新手。我有这个代码,我无法弄清楚它为什么会按照它的方式行事。我把getchar()用来阻止控制台窗口消失。它仍然会消失,除非我有第二个getchar()。为什么会这样做,为什么第二次阻止呢?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(){
int nums[10];
int number;
int i = 0;
printf("Enter a number: ");
scanf("%i", &number);
printf("%i", number);
srand((unsigned)time(NULL));
for (i; i < 10; i++){
nums[i] = rand() % 50;
printf("nums[%d] = %d\n", i, *(nums + i));
}
getchar();
getchar();
return 0;
}
答案 0 :(得分:1)
第一个getchar()
应该是'\n'
,scanf
不会读取,因此会立即返回。
第二个getchar()
没有任何内容可供阅读,因此会等待输入。