【发布时间】:2016-07-16 16:11:55
【问题描述】:
这个程序不会终止,也不会让我输入任何值,只是一个没有输出的黑屏。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int size;
printf("Enter number of elements in array:");
scanf("%d", &size);
printf("\n%d\n", size);
return 0;
}
【问题讨论】:
-
至于第一个程序,您确实给它一些输入,然后用 Enter 键终止该输入?
-
你想在这里做什么?
int scanf("%d\n", &size); -
无法复制。对我来说效果很好。
-
由于这对我来说效果很好,这可能是您的终端的问题,或者实际上不是您尝试使用的代码。请仔细检查这是否真的是您正在编译的代码并且在不同的 shell 中运行该程序不起作用。
-
注意,如果输入空行,
scanf()不会返回;它会等到您输入整数或不可能是整数的东西(字母等)。如果你想要基于行的输入,不要使用scanf();请改用fgets()和sscanf()。但是,对于导致程序“不终止”的原因,这是一个疯狂的猜测。