十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#include stdio.h
创新互联建站是一家专业的成都网站建设公司,我们专注成都网站制作、网站建设、网络营销、企业网站建设,卖链接,广告投放为企业客户提供一站式建站解决方案,能带给客户新的互联网理念。从网站结构的规划UI设计到用户体验提高,创新互联力求做到尽善尽美。
void str_trans(char c[])
{
for(int i=0;c[i];i++)
{
if(c[i]='z' c[i]='a')
{
c[i]=(c[i]-'a')+'A';
}else if(c[i]='A'c[i]='Z')
{
c[i]=(c[i]-'A')+'a';
}
}
}
int main()
{ char s[101];
gets(s);
str_trans(s);
puts(s);
scanf("%s",s);
return 0;
}
用ctype.h中的函数tolower和toupper。前者以大写的字符作为参数,返回相应的小写字符;后者以小写的字符作为参数,返回相应的大写字符。
#include ctype.h
#include stdio.h
int main()
{
char c = 'A';
printf("%c", tolower(c)); //a
c = 'b';
printf("%c", toupper(c)); //B
return 0;
}
如果没有相应的大小写,函数会返回字符本身。
#include ctype.h
#include stdio.h
int main()
{
char c = '0';
printf("%c", tolower(c)); //0
printf("%c", toupper(c)); //0
return 0;
}
你的程序里面获取循环的位置不对,也就是获取的字符串长度的n应该放在函数里面。
讲n=strlen(s)放到函数里面,就可以了。