如何修改 让它第一个if没通过 去继续第二个if的判断,而不是直接continue

#include <stdio.h>
#include <string.h>
int main()
{
char a[80];
int i,n;
n=strlen(gets(a));
for(i=0;i<n;i++)
{
if(a[i]>=87&&a[i]<=90||a[i]>=119&&a[i]<=122)
a[i]-=22;continue;
if (a[i]<=86&&a[i]>=65||a[i]<=118&&a[i]>=97)
a[i]+=4;

}
puts(a);
return 0;
}
阅读 2.6k
3 个回答

LZ什么意思?就是第一个没通过访问第二个,通过了就continue?如果这样的话加个括号就行了。

#include <stdio.h>
#include <string.h>
int main()
{
    char a[80];
    int i,n;
    n=strlen(gets(a));
    for(i=0;i<n;i++) {
        if(a[i]>=87&&a[i]<=90||a[i]>=119&&a[i]<=122) {
            a[i]-=22;
            continue;
        }
        if (a[i]<=86&&a[i]>=65||a[i]<=118&&a[i]>=97)
            a[i]+=4;
    }
    puts(a);
    return 0;
}

continue删了

if 后面的语句块能不能加上花括号。。。。 你这样写,continue是不受第一个if控制的。正确写法参考楼上。 建议if后面不管多少条语句(即使只有1条),也加上花括号

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进