#include <stdio.h>
#include<string.h>
int main(void){
char str[20];
int i=0;
fgets(str,100,stdin);
for(i=0;str[i]!='\0';i++){
if(str[i]>='a'&&str[i]<='z')
{
str[i]-=32;
} //将第一个if语句放在前面,则小写字母可以转换成大写字母,但是无法完成第二个if语句功能,同理,将第二个if语句放前面,也只能完成第二个if语句,为什么,怎么改
if(str[i]>='A'&&str[i]<='Z'){
str[i]+=32;
}
}
puts(str);
return 0;
}
大小写互换为什么只能换一种?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 於黾 2022-06-02 07:52关注
改为if,else if
不要连写两个if
否则你前面的if改成小写,后面的if就给改回来
要让它只能匹配一个,不要两个按顺序都匹配一次本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥30 win c++ socket
- ¥15 CanMv K210开发板实现功能
- ¥15 C# datagridview 栏位进度
- ¥15 vue3页面el-table页面数据过多
- ¥100 vue3中融入gRPC-web
- ¥15 kali环境运行volatility分析android内存文件,缺profile
- ¥15 写uniapp时遇到的问题
- ¥15 vs 2008 安装遇到问题
- ¥15 matlab有限元法求解梁带有若干弹簧质量系统的固有频率
- ¥15 找一个网络防御专家,外包的