gpt4 book ai didi

c - 将字符传递给 C 中的函数时出错

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

我有以下功能

int namecomp(char c);

部分功能代码

else if (c == 'b' || 'B')
i=2;

我在 main() 中调用它的方式

j= namecomp(s);

s定义为char s = 'B';

出现错误,每当我尝试使用 j 时,main 中的值始终为 1。请帮助我知道错误的确切位置。谢谢!

编辑:对不起各位,没有任何效果。我正在发布完整的代码以寻求帮助

int main (int argc, char* argv [])
{
int i;
int j;
char s = 'B';
j= namecomp(s);
printf ("%d",j);
}

int namecomp(char c)
{
int i;

if (c == 'a'||'A')
i=1;

else if ((c == 'b' || c == 'B'))
i=2;

return i;

}

最佳答案

c == 'b' || 'B'

总是评估为 1,因为它被解析为

(c == 'b') || 'B'

我打赌你想要

(c == 'b') || (c == 'B')

关于c - 将字符传递给 C 中的函数时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12248378/

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