#include<stdio.h>
#include<string.h>
void main()
{char str[10];
int i;
gets(str[i]);
for(i=0;i<=10;i++)
{if(str[i]>=65&&str[i]<=90)
printf("%s",strlwr(str));
else if(str[i]>=90&&str[i]<=122)
printf("%s",strupr(str));
else continue;
}
}
get(str)不是get(str[i])
strlwr的用法不对,你是每次都把整个字符串输出了
你的循环变量从0到10,但是你的字符串长度有10个吗
assii码不对,'a'是97不是90,你不记得就不要写assii码,直接写str[i]>'a'&&str[i]<'z'
改正后代码如下,请采纳
#include<stdio.h>
我改了之后,输入HoLL,还是运行错误
追答还有就是for循环中因为数组的长度不是10,所以导致访问越界,应该是for(i = 0; i < strlen(str); i++)
本回答被提问者采纳