这个程序不会终止,也不会让我输入任何值,只是一个没有输出的黑屏。
#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;
}
答案 0 :(得分:1)
听起来你正在遭受缓冲。添加
fflush(stdout);
在printf
行之后。
默认情况下,如果stdout进入终端,则它是行缓冲的,这意味着只有在缓冲区已满或输出换行符(\n
)时才会实际输出。终止程序(通过exit()
或从main
返回)将关闭所有打开的文件句柄并强制刷新。
要确保在那时生成输出,请致电fflush
。