gpt4 book ai didi

c - 我应该怎么做才能读取c中的字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 00:28:52 25 4
gpt4 key购买 nike

int main(){
char s[]="hi ";
char t[55];
fgets(t,55,stdin);
strcat(s,t);
puts(s);
}

我想连接字符串 s 和输入的字符串 t,但我没有得到任何输出。我尝试使用 gets 读取 string 但编译器说“使用 gets 可能很危险”。我该怎么办?

最佳答案

strcat(s,t); 正在溢出目标内存缓冲区 s,因为它只够容纳 4 个字符(其中一个被NUL-终止符)。

因此,您的程序的行为是未定义

使 s 的大小足以容纳其初始内容加上 t 中可能的最大字符串。

关于c - 我应该怎么做才能读取c中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41823394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com