认为没写错,可是结果总是很奇怪。大神帮瞧瞧
#include <stdio.h>void main()
{
int i;
printf("请输入原文,即将给你翻译成密码文\n");
scanf("%c",&i);
if (65 <= 'i' <= 86 || 97 <= 'i' <= 118)
{
printf("%c\n",i+4);
}
else if(87 <= 'i' <= 90 || 119 <= 'i' <= 122)
{
printf("%c\n",i-22);
}
else
{
printf("你输入的不是英文!!");
}
}
自己先顶一下吧········ 木有人嘛? 我输入0的话,他显示4····可是我这里已经限定了啊?满脑子问号···· 'i'的ASCII码105 。。。永远都是第一个条件成立了 i 的 单引号去掉的吧 catalina 发表于 2014-3-28 02:06 static/image/common/back.gif
'i'的ASCII码105 。。。永远都是第一个条件成立了 i 的 单引号去掉的吧
那他不是 还是满足他吗。。。 单引号引起来的 i 是字母i本身了你这里要把它当成变量所以不能用引号引起来。。。你先把所有 i 的单引号 去掉再试试吧 根据你的想法我稍微改了下#include <stdio.h>
int main()
{
char i;
printf("请输入原文,即将给你翻译成密码文\n");
scanf("%c",&i);
if ((65 <= i && i <= 86) || (97 <= i && i <= 118))
{
printf("%c\n",i+4);
}
else if((87 <= i && i <= 90) || (119 <= i && i <= 122))
{
printf("%c\n",i-22);
}
else
{
printf("你输入的不是英文!!\n");
}
return 0;
} #include <stdio.h>
int main()
{
char i;
printf("请输入原文,即将给你翻译成密码文\n");
scanf("%c",&i);
if ((65 <= i && i <= 86) || (97 <= i && i <= 118))
{
printf("%c\n",i+4);
}
else if((87 <= i && i <= 90) || (119 <= i && i <= 122))
{
printf("%c\n",i-22);
}
else
{
printf("你输入的不是英文!!\n");
}
return 0;
}
页:
[1]