我想通过调用函数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;
答案 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
。