这个地方是说明字符串的长度的吧,你把长度定冲悄为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)
}
/* 要记得判断字符串的结束符,分支判断也要改 */
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)