【发布时间】:2016-06-20 11:05:10
【问题描述】:
所以,自从我上次用 C 编程以来已经有一段时间了,现在我正试图重新回到 C 语言,但我的程序遇到了问题。该程序非常简单,我使用 getchar 将字符存储在 char 数组中,但由于某种原因,程序在我的 while 循环后停止运行。
#include <stdio.h>
#define MAXLINE 1000
int main(){
char c;
char input[MAXLINE];
int i = 0;
while((c = getchar()) != EOF){
input[i] = c;
++i;
}
printf("Still running");
}
所以,我的程序不会打印“Still running”。
【问题讨论】:
-
会不会是输入多于
MAXLINE(1000)个字符? -
另外,
getchar返回一个int。这其实很重要。 -
如果
char未签名,则不会检测到EOF(-1),请使用int c,这是getchar返回的内容。 -
EOF 是 int 类型,而不是 char。
-
在 Windows 控制台中,
Ctrl-Z必须是换行符后的第一个字符。
标签: c