我有点新手学C语言,输入读取非常困扰我。我正在尝试初始化一个大小为4的数组,但有时用户会输入3个有效的输入。在Java中,我可以检查输入的长度并添加条件语句,但我不确定在C语言中如何实现。
main(void){
char str[N];
int i;
for(i = 0; i < N; i++){
scanf("%c", &str[i]);
}
for(i = 0; i < N; i++){
printf("%c\n", str[i]);
}
}
现在,如果我输入4个或更多字符,它可以正常工作。如果我输入3个字符,它就会出错。我希望它能处理3个或4个字符。
实际上,问题的根源是:我正在尝试用C语言找到一种读取24小时制时间并将其加到24小时持续时间的方法。我是否应该采用完全不同的方法来解决这个问题?
谢谢,
for(i = 0; i < N; i++)
这个循环语句不保证不会发生溢出吗? - sidyll\n
的检查,但在我看来,最好使用fgets并简单地完成它。 - Brian Roach