找着网上的代码抄的,除了名称不一样其他基本都一样,但就是我的代码跑起来有问题,还看不出来,有人能解答一下吗?
#include
int main() {
char a[100];
int n = 3;
void forge(char b[]);
printf("明文:");
gets(a);
forge(a);
printf("密文:%s\n", a);
}
void forge(char b[]) {
int i;
for (i = 0; b[i] != '\0'; i++) {
if (b[i] >= 'a' && b[i] <= 'z') {
b[i] += 3;
if (b[i] > 'z')
b[i] -= 26;
} else if (b[i] >= 'A' && b[i] <= 'Z')
b[i] += 3;
if (b[i] > 'Z')
b[i] -= 26;
}
}
else if部分没有加大括号啊
#include <stdio.h>
int main() {
char a[100];
int n = 3;
void forge(char b[]);
printf("明文:");
gets(a);
forge(a);
printf("密文:%s\n", a);
}
void forge(char b[]) {
int i;
for (i = 0; b[i] != '\0'; i++) {
if (b[i] >= 'a' && b[i] <= 'z')
{
b[i] += 3;
if (b[i] > 'z')
b[i] -= 26;
}
else if (b[i] >= 'A' && b[i] <= 'Z')
{
b[i] += 3;
if (b[i] > 'Z')
b[i] -= 26;
}
}
}
如果是嵌套循环的话 else if后面要加大括号 要不然会出问题
不知道你这个问题是否已经解决, 如果还没有解决的话: