C语言循环输入字符串到数组时会替换掉上一次输入数组的数据吗?

2024-12-29 09:53:42
推荐回答(2个)
回答1:

会覆盖的!
但代码有点问题:
while (gets(max) != EOF) 应该改成:

while ( gets(max) != NULL )

函数gets的原型为:char*gets(char*buffer);
在 stdio.h中定义,如果要程序中用到此函数需包含#include
gets()函数用来从标准输入设备(键盘)读取字符串直至接受到换行符或EOF时停止结束,并将读取的结果存放在buffer指针所指向的字符数组中,但换行符会被丢弃,然后在末尾添加'\0'字符。

回答2:

再次输入的时候会覆盖原来数组的内容的。
不过额外说下,gets是不会有EOF的返回值的,只有NULL,理论上这个程序是死循环。