怎么回事啊 都是乱码。。。。

来源:百度知道 编辑:UC知道 时间:2024/06/18 13:05:40
#include<stdio.h>
#include "string.h"
main()
{
char str[30];
int i,j;
printf("请输入字符:");
gets(str);
j=strlen(str);

for(i=j-1;i>=0;i++)
if(str[i]==32)
printf(" ");
else if(str[i]<97)
{
str[i]+=32 ;
printf("%s",&str[i]);
}
else if(str[i]>97)
{
str[i]-=32;
printf("%s",&str[i]);

}
这段代码怎么一运行就是乱码啊 我要疯了 救救我。。。大侠们
改了还是不行啊 愁死了。。。

你输出怎么能在变量前加上&呢?
都去掉!

for(i=0;i<j-1;i++)
printf("%c",str[i]);
------------------
描述一下程序功能

printf("%s",&str[i]);
-----------------------------
改成
printf("%c",&str[i]);

printf("%s",&str[i]); 错了
改为printf("%c",str[i]);
另外最后少了}

#include<stdio.h>
#include "string.h"
main()
{
char str[30];
int i,j;
printf("input str:");
gets(str);
j=strlen(str);

for(i=j-1;i>=0;i--)
if(str[i]==32)
printf(" ");
else if(str[i]<97)
{
str[i]+=32 ;
printf("%c",str[i]);
}
else if(str[i]>97)
{
str[i]-=32;
printf("%c",str[i]);
}
}

你程序是想干什么的 说说