编译代码时出现错误。 '> ='标记之前的预期表达式

时间:2019-01-21 08:34:37

标签: c

我不知道为什么我的代码没有编译。我想我的代码中可能有错误的运算符。

我尝试在函数中使用不同的运算符。

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')

实际结果是> =标记之前的预期表达式。上面的代码摘录了我认为代码有误的片段。我正在尝试转移密码。

2 个答案:

答案 0 :(得分:2)

首先,if块中缺少一些括号。他们看起来像这样

if (encrypt <= 'A' && encrypt >= 'Z')
{
    encrypt = encrypt + shift;

但是此后应该有一个}。另外,您具有以下条件:

(encrypt <= 'a' && >= 'z')

我认为您的意思是(encrypt <= 'a' && 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')
{...}

针对未来问题的提示:您的代码片段足以说明问题,但需要花一些精力才能使其生效。人们普遍欢迎Minimal, Complete, and Verifiable example进入其IDE并运行。

答案 1 :(得分:0)

else if(encrypt <= 'a' && >= 'z')

您将z与什么进行比较?

必须

else if(encrypt <= 'a' && encrypt >= 'z')

相同的问题

else if(decrypt <= 'a' && >= 'z')

必须

else if(decrypt <= 'a' && decrypt >= 'z')

无论如何不可能同时为<= a / A和> = z / Z值,您的代码中存在逻辑上的严重问题


请注意,您也缺少}