C I';我在编译代码时出错了。在'之前的预期表达式&燃气轮机=';代币
我不明白为什么我的代码没有编译。我想我的代码中可能有错误的运算符 我尝试在函数中使用不同的运算符符号C I';我在编译代码时出错了。在'之前的预期表达式&燃气轮机=';代币,c,caesar-cipher,C,Caesar Cipher,我不明白为什么我的代码没有编译。我想我的代码中可能有错误的运算符 我尝试在函数中使用不同的运算符符号 if (encrypt <= 'A' && encrypt >= 'Z') { encrypt = encrypt + shift; else if(encrypt <= 'a' && >= 'z') { encrypt = encrypt + shift; if (decrypt <= 'A' &&
if (encrypt <= 'A' && encrypt >= 'Z')
{
encrypt = encrypt + shift;
else if(encrypt <= 'a' && >= 'z')
{
encrypt = encrypt + shift;
if (decrypt <= 'A' && decrypt >= 'Z')
{
decrypt = decrypt - shift;
else if(decrypt <= 'a' && >= 'z')
if(加密='Z')
{
加密=加密+移位;
else if(加密='z')
{
加密=加密+移位;
if(decrypt='Z')
{
解密=解密-移位;
else if(decrypt='z')
实际结果应该是>=令牌之前的表达式。上面的代码是我认为我的代码有问题的代码片段。我正在尝试转换密码。else if(encrypt='z')
else if(encrypt <= 'a' && >= 'z')
你和z比较什么
一定是
else if(encrypt <= 'a' && encrypt >= 'z')
else if(decrypt <= 'a' && decrypt >= 'z')
else if(加密='z')
同样的问题
else if(decrypt <= 'a' && >= 'z')
else if(decrypt='z')
一定是
else if(encrypt <= 'a' && encrypt >= 'z')
else if(decrypt <= 'a' && decrypt >= 'z')
else if(decrypt='z')
无论如何不可能同时对值=z/z进行赋值,代码中存在严重的逻辑问题
注意,您还缺少}首先,在
if
块中缺少一些大括号
if (encrypt <= 'A' && encrypt >= 'Z')
{
encrypt = encrypt + shift;
我想你是指(encrypt='z')
部分。同样,对于encrypt
部分。总之,代码片段应该如下所示:
if (encrypt <= 'A' && encrypt >= 'Z')
{
encrypt = encrypt + shift;
}
else if (encrypt <= 'a' &&encrypt >= 'z')
{
encrypt = encrypt + shift;
}
if (decrypt <= 'A' && decrypt >= 'Z')
{
decrypt = decrypt - shift;
}
else if (decrypt <= 'a' && decrypt >= 'z')
{...}
if(加密='Z')
{
加密=加密+移位;
}
else if(加密='z')
{
加密=加密+移位;
}
if(decrypt='Z')
{
解密=解密-移位;
}
else if(decrypt='z')
{...}
未来问题提示:您的代码片段足以演示该问题,但需要付出一些努力才能使其正常工作。当出现一个用户可以轻松进入IDE并运行的问题时,通常会对此表示感谢。您缺少结束语
}
大括号。你把编译器搞混了。&&>='z'
语法无效。你的意思是&&encrypt>='z'
?你的编译器会就这些问题向你发出警告。始终启用其他编译器警告(gcc/clang-Wall-Wextra-pedantic
,用于VS/W3
)。警告会告诉您问题所在的确切行(很多时候是该行中的确切字符)。在代码编译时没有警告之前,不要接受代码。让编译器帮助您编写更好的代码。