#include<stdio.h>
#include<string.h>
void main()
{
char str[51],str1[21];
printf("字符串1\n");
scanf("%s",str);
strlwr(str)&&strupr(str);
printf("转换结果:%s\n",str);
}
哪位帮我看看,我想要的效果是类似于aaAA,转化成AAaa,弄了好久都没有弄好,求各位大神指点一下!!
#include<stdio.h>
int main()
{
int I=2;//赋值使I不为零
while(I)//当括号内表达式不为零时实现后面的循环
{
charb;
scanf("%c",&b);
if(b>='A'&&b<='Z')
{
b=b+32;
printf("%c",b);
}
elseif(b>='a'&&b<='z')
{
b=b-32;
printf("%c",b);
}
}
return0;
}
扩展资料
C语言:将字符串中所有小写字母转为大写字母
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#defineN100
int main()
{
chara[N];
inti;
scanf("%s",a);
for(i=0;a[i]!='\0';i++)
{
if('A'<=a[i]&&a[i]<='Z')
printf("%c",a[i]-32);
else
printf("%c",a[i]);
}
return0;
}
实例:
追问好厉害!!前面还可以看懂,可是后面的0xDF,0x20,是什么意思没有明白,可以麻烦你解释一下吗?谢谢了!!
追答ch & 0xDF;// 相当于ch-32ch | 0x20;// 相当于ch+32str[i]=isalpha(str[i])?str[i]^32:str[i];
这一段有点复杂,可以有简单一点的表达吗?
谢谢了!!不好意思了。。
str[i]=isalpha(str[i])?str[i]^32:str[i]
三目运算符,看一下百科就明白了
int isalpha(int)是ctype.h里的函数,是用来判断是不是字符的,
str[i]^32是用来异或的,如果大写就变小写,小写就变大小写
比如说大写字母A 的ASC值是 65 ,二进制格式是1000001
小写字母a的ASC值是97 , 二进制格式是1100001
差值是32