字符串 将其中的数字倒置 0变为9

#include<stdio.h>
#include<string.h>
int main()
{ char str[40],s[40];
int i,k=strlen(str);
scanf("%s",str);
for(i=0;i<k;i++)
if(str[i]>=0||str[i]<=9)
s[i]='0'+9-(str[i]-'0');
else s[i]=str[i];
printf("%s",str[i]);
return 0;
}
不知道哪里的问题
还有就是不知道为什么非要加字符0


#include<stdio.h>
#include<string.h>
int main()
{ 
    char str[40],s[40];
    int i,k;//=strlen(str);
    scanf("%s",str);
    k=strlen(str);//根据输入内容确定字符串长度
    for(i=0;i<k;i++)
        if(str[i]>='0' && str[i]<='9')//if(str[i]>=0||str[i]<=9) 判断数字字符
            s[i]='0'+9-(str[i]-'0');  //写详细点就是 '0'+(9-(str[i]-'0'))
        else 
            s[i]=str[i];
            
    printf("%s",s); //printf("%s",str[i]);
    return 0;
}