gpt4 book ai didi

字符常量对其类型而言太长 (fgets)

转载 作者:行者123 更新时间:2023-12-04 12:37:03 27 4
gpt4 key购买 nike

void verification() {
char pass[50];

printf(" Enter Password : ");
fgets(pass, 50, stdin);

if (pass != 'aaanc6400') { \\ Warning message in here
printf("\n Invalid Password.. Please enter the correct password. \n\n");
verification();
}
info();
}

当我编译程序时,在标记的行上显示警告“字符常量对其类型而言太长”以及“指针与整数之间的比较”。然后当我运行代码并输入正确的密码时,它仍然打印出密码错误。我做错了什么?

最佳答案

警告是关于您声明您的角色长度过大。

'aaanc6400'

是一个 9 个字符长的字符,编译器会警告您这可能是打印错误。没错。

在 C 中,我们使用单引号 '对于字符和 "双引号表示以 '\0' 结尾的字符数组的字符串性格。

所以你必须替换'aaanc6400'"aaanc6400"并使用 strcmp .记住! fgets可能会阅读 \n另外,您可以将输入与 "aaanc6400" 进行比较和 "aaanc6400\n"以及。该解决方案足以用于学生项目。

关于字符常量对其类型而言太长 (fgets),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40588605/

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