为什么我无法从getchar()获取字符串

时间:2015-05-26 11:27:05

标签: c arrays for-loop getchar

我想通过调用函数getchar()来获取字符串,但是有些错误。以下是我的代码

int i, j, t;
char a[N], *p = argv[1];
for (i=0; i<5; a[i]=t, i++){
    if ((t = getchar()) == EOF) break;
}
a[i] = 0;

1 个答案:

答案 0 :(得分:2)

您的代码取决于N的值。所以,改变您的代码,如

#define N 20      //my assumption

int i, t;

char a[N];   // *p = argv[1]; no relevant for this example

for (i=0; i < N-1; i++){  //check here
    if ((t = getchar()) == EOF) break;
    a[i]=t;
}
a[i] = 0;

记住,C中的数组索引基于0