C语言程序将字符串中大写字母变小写,小写变大写,我搞出来的最后有几个乱码如何处理啊

C语言程序将字符串中大写字母变小写,小写变大写,我搞出来的最后有几个乱码如何处理啊,第1张

for(j=0j<ij++)

这个地方是说明字符串长度的吧,你把长度定冲悄为10,但是当你输入的字符个数小于10的时候,少散弯渣的那部分闹猜就会对随机数进行 *** 作,所以最后就成了乱码。

for(j=0j<strlen(a)j++)改成这种类似的取长度的试试呢?

#include<银绝stdio.h>

void main()

{

int n,k=0

char a[20]

printf("输入一个字符串液搏圆\n")

scanf("%s",&a)

/* string ends with '\0' which is equal to 0 */

for(n=0n<20&&a[n]n++)//a[n]!='\0'

{

if(a[n]<='Z'&&a[n]>='A')

{

k=k+1

printf("%c",a[n]+32)

}

else /闹塌* remember add this line */

if(a[n]<='z'&&a[n]>='a')

{

k=k+1

printf("%c",a[n]-32)

}

else printf("%c",a[n])

}

printf("更改个数%d\n",k)

}

/* 要记得判断字符串的结束符,分支判断也要改 */


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8258966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存