修改字符串,我的代码运行没有结果

请问我这个代码是哪里有问题啊?可以编译,但运行后输入没反应,能帮我看看这个该怎么写嘛?

img

img


#include<stdio.h>
int main()
{
char str[500];
scanf("%s",str);
int i;
for(i=0;i<500;i++)
{
char s;
for(s='A';s<='Z';s++)
{
if(s=str[i])
str[i]=s+42;
}
}
for(int m=0;m<500;m++)
{
printf("%c",str[m]);
}

return 0;

}

这些的也太低效率了吧。if(s=str[i])写错了,应该是s==str[i]
修改如下:

#include <stdio.h>
int main()
{
    int i=0;
    char s[501] = {0};
    scanf("%s",s);
    while(s[i] != '\0')
    {
        if(s[i] >='A' && s[i] <='Z')
            printf("%c",s[i]-'A'+'a');
        else
            printf("%c",s[i]);
        i++;
    }
    return 0;
}

输出直接用printf 的%s输出就行了嘛