gpt4 book ai didi

c - 用于获取输入的 If 循环在 C 中不起作用

转载 作者:行者123 更新时间:2023-11-30 18:43:52 26 4
gpt4 key购买 nike

我无法使用 if 语句打印出“Hey ! Another James\n”行。

为什么这不起作用,它看起来很简单,哈哈,我错过了什么?

如果我称自己为 James,我希望打印该消息。

谢谢

# include <stdio.h>
# include <string.h>


int main (int argc, char** argv)
{
char first_name[30];
printf(" Please enter your first name : ");
fgets(first_name, 30 , stdin);

if (strcmp(first_name, "James") == 0)
printf("Hey ! Another James \n");
else
printf("Goodbye!\n");
}

最佳答案

当您使用大小参数为 30 的 fgets 时,如果输入的字符少于 29 个字符,则 '\n' 也会输入您的字符串。您只需添加一个简单的代码即可删除“\n”(如果存在)。

fgets 之后添加此行:

first_name[strcspn(first_name, "\n")] = 0;

关于c - 用于获取输入的 If 循环在 C 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59808725/

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