gpt4 book ai didi

c - 在c编程中使用gets是错误的

转载 作者:太空宇宙 更新时间:2023-11-04 03:50:15 26 4
gpt4 key购买 nike

我正在尝试读取 C 中的一串字符:如果我使用 gets,编译器不会读我的话,因为我猜它认为 ENTER 是我的字符串。我尝试使用

scanf("%*c") 

但是如果我这样做并输入“flower”,变量将存储字符串“lower”。如果我使用

scanf("%s",s)

然后编译器在我点击空格后不会存储任何东西。如果我使用

fgets(s,20,stdin)

我遇到了与使用 gets 完全相同的问题。我该怎么办?

最佳答案

如果换行符在字符串的末尾,则简单地“删除”换行符:

if (fgets(s, 20, stdin) != NULL)
{
while (strlen(s) > 0 && s[strlen(s) - 1] == '\n')
s[strlen(s) - 1] = '\0';
}

关于c - 在c编程中使用gets是错误的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21215926/

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