gpt4 book ai didi

c - 错误 : add explicit braces to avoid dangling else. C

转载 作者:太空狗 更新时间:2023-10-29 15:13:50 30 4
gpt4 key购买 nike

我正在使用 gedit,我的编译器是 clang。我最近遇到了一些这样的错误,但不确定如何修复(标题错误并引用了 else 语句)。

 if(isupper(ptext[i]))
if ((((ptext[i]+k)%26)+52) < 65 || (((ptext[i]+k)%26)+52) > 90)
{
printf("%c", (((ptext[i]+k)%26)+78));
}
else
{
printf("%c", (((ptext[i]+k)%26)+52));
}

我应该添加/删除/修复什么?提前致谢:)

最佳答案

您的外部 if 缺少大括号:

if(isupper(ptext[i]))
{
if ((((ptext[i]+k)%26)+52) < 65 || (((ptext[i]+k)%26)+52) > 90)
{
printf("%c", (((ptext[i]+k)%26)+78));
}
else
{
printf("%c", (((ptext[i]+k)%26)+52));
}
}

就个人而言,我会将一些公共(public)元素提取到变量中:

char something1 = ptext[i];
if(isupper(something1))
{
char something2 = (something1+k)%26;
if ((something2+52) < 65 || (something2+52) > 90)
{
printf("%c", (something2+78));
}
else
{
printf("%c", (something2+52));
}
}

甚至可以在其中放一个 char something3 = something2 + 52;。当然,还有更有意义的变量名。

关于c - 错误 : add explicit braces to avoid dangling else. C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31599839/

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