2

我该怎么办

如果我输入“a a”并在我期望它返回“b b”时将其移动,但是我收到一个错误,我希望 for 循环跳过任何不是 AZ、az 或 0-9 的内容

for ( ; i <= w; i++)

    if ((word[i] + rotx) >= 65 && (word[i] + rotx) <=90)
    {
        word[i] += (rotx);
    }
    else if ((word[i] + rotx) >= 97 && (word[i] + rotx) <=122)
    {
        word[i] += (rotx);
    }
    else if ((word[i] + rotx) >= 48 && (word[i] +rotx) <= 57)
    {
        word[i] += (rotx);
    }
    else if ((word[i] + rotx) > 90 && (word[i]+rotx) <97)
    {
        word[i] = 64 + (rotx - (90-word[i]));
    }
    else if ((word[i] + rotx) > 122)
    {
        word[i] = 96 + (rotx - (122-word[i]));
    }
    else if ((word[i] + rotx) > 57)
    {
        word[i] = 47 + (rotx - (57-word[i]));
    }

OUTPUT 输入字符串“a a” 输入旋转 1

-bash:1:找不到命令

4

4 回答 4

4

你可以不使用其他。或者使用一个continue语句,如果你希望 else 在那里。

于 2013-04-02T00:13:04.033 回答
1

如果您希望您的程序刚刚落入下一条语句,请不要包含您所显示的 body 的另一else部分。empty

于 2013-04-02T00:14:25.113 回答
0

我认为最后一个 else 语句的意思是 < 57。除此之外,您不仅可以调用超过 122 和小于 57 的语句,然后还有 else word[i] += (rotx); ??

对不起,90到97之间。

或者使用 switch 语句会更经济。

于 2013-04-02T00:20:21.737 回答
0

如果你想让你的最后一个else什么都不做,你可以使用continue里面的关键字。{}对于任何条件,您可以通过为其定义一个空代码块或简单地省略大小写来定义条件不做任何事情。如果您希望 case 在switch语句中不执行任何操作,则可以为它定义一个空块{},也可以使用break关键字。或者,您只是不理会给定的案例。

至于您对问题的编辑,我不确定您的代码中的 rotx 是什么以及您试图实现什么。当你寻求帮助时,这些不能省略,否则就像说“我的代码不起作用,请帮助”,你可能知道没有人想要/能够猜测你的任务要求。所以,在指定任务时请多加注意,记住,如果你帮助社区帮助你,社区愿意帮助你。

于 2013-04-02T00:39:49.983 回答