S1E11 大写字母转小写字母 小写字母转大写字母实验
鄙人code block debug 程序就无响应了 也听苦闷的,不知原因在何处再其次觉得这个程序并无bug却存在严重的bug代码如下
#include <stdio.h>
int main()
{ int ch;
printf("请输入一个字符");
scanf("%d",&ch);
if(ch>=65&ch<=90)
{
ch=ch+32;
}
else if(ch>=91&ch<=116)
{
ch=ch-32;
}
printf("%c",ch);
return 0;
}
各位来自五湖四海的大佬们,请求你们的帮助 #include <stdio.h>
int main()
{
char ch; // 开始就声明成char就好了,int还要转来转去
printf("请输入一个字符");
scanf("%c",&ch); // 用%c接收
if(ch>=65 && ch<=90) // 是&& 不是&
{
ch=ch+32;
}
else if(ch>=91 && ch<=116) // 是&& 不是&
{
ch=ch-32;
}
printf("%c\n",ch);
return 0;
}
其实大小写转换可以这么玩:#include <stdio.h>
int main()
{ int ch;
printf("请输入一个字符");
scanf("%c",&ch);
ch^=32;
printf("%c",ch);
return 0;
} . . . . . .
if(ch >= 65 & ch <= 90) { // 问题出在这里,逻辑 AND 应该使用 && 表示
. . . . . .
} else if(ch >= 91 & ch <= 116) { // 问题出在这里,逻辑 AND 应该使用 && 表示
. . . . . . ba21 发表于 2019-3-15 21:47
#include
int main()
{
非常抱歉,我的debug出了问题但是我想知道一个&为什么会出现bug 可以给我解答一下吗? jackz007 发表于 2019-3-16 02:06
非常抱歉,我的debug出了问题但是我想知道一个&为什么会出现bug 可以给我解答一下吗?
愈伤组织 发表于 2019-3-16 19:51
非常抱歉,我的debug出了问题但是我想知道一个&为什么会出现bug 可以给我解答一下吗?
单 & 是二进制位操作符,双 & 是逻辑运算符,我们需要的是逻辑运算符,看似相似,其实,本质完全不同。
举个例子,0x01 && 0x02 的结果一定是 true,但是,0x01 & 0x02 的结果是 0,也就是 false,0x03 && 0x0c 结果是 true,0x03 & 0x0c 的结果是 false......,总之,类似的例子还有很多。 jackz007 发表于 2019-3-16 20:15
单 & 是二进制位操作符,双 & 是逻辑运算符,我们需要的是逻辑运算符,看似相似,其实,本质完 ...
谢谢
页:
[1]