C 如何对最后一个else语句不做任何操作,然后继续数组的下一部分?
我该怎么办 如果我输入“a”并移动它一次,我希望它返回“b”,但是我得到了一个错误 我想让for循环跳过任何不是A-Z、A-Z或0-9的内容C 如何对最后一个else语句不做任何操作,然后继续数组的下一部分?,c,arrays,if-statement,C,Arrays,If Statement,我该怎么办 如果我输入“a”并移动它一次,我希望它返回“b”,但是我得到了一个错误 我想让for循环跳过任何不是A-Z、A-Z或0-9的内容 for ( ; i <= w; i++) if ((word[i] + rotx) >= 65 && (word[i] + rotx) <=90) { word[i] += (rotx); } else if ((word[i] + rotx) >= 97 &
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]));
}
for(;i=65&&(字[i]+rotx)=97&&(字[i]+rotx)=48&&(字[i]+rotx)90&&(字[i]+rotx)122)
{
字[i]=96+(rotx-(122字[i]);
}
如果((字[i]+rotx)>57)
{
字[i]=47+(rotx-(57字[i]);
}
输出
输入字符串“a”
输入旋转1
-bash:1:command not found您不能使用else。如果你想让else出现在那里,也可以使用一个
continue
语句。如果你想让你的程序直接进入下一个语句,只需不包含另一个else
部分,让你显示的主体为空。我认为最后一个else语句应该是<57。
除此之外,你能不能先调用122个以上和57个以下的语句,然后使用else-word[i]+=(rotx)
对不起,电话号码在90到97之间
或者使用switch语句会更经济。如果您想让最后一个else
什么都不做,可以在其中使用continue
关键字。对于任何条件,您都可以通过为其定义空代码块{}
或简单地对其大小写来定义该条件,使其不做任何事情。如果希望案例在switch
语句中不执行任何操作,则可以为其定义空块{}
,也可以使用break
关键字。或者,你只是不关心给定的案例
关于您对问题的编辑,我不确定您的代码中有什么rotx,以及您试图实现什么。当您请求帮助时,这些都不能忽略,否则就像说“我的代码不工作,请帮助”一样,您可能知道没有人想要/能够猜测任务的要求。因此,在指定任务时,请多加注意,请记住,如果你帮助社区帮助你,社区也会愿意帮助你。你所拥有的应该有用。事实上,如果您愿意,您可以完全关闭else
。您可以使用continue
跳到下一个迭代只需删除最后一个else。尽管您的代码在语法上是正确的,但我强烈建议您用大括号括住整个块!这些数字意味着什么?如果这些是字符的ASCII值,则可以直接使用字符常量使代码更清晰。例如,使用'A'
而不是96
。如果调用continue
,则控件将跳转到循环的开头。如果用户希望在If else If
构造之后处理数据,那么我觉得continue
没有帮助。