新手求救为什么在输入a3时无输出

初学c语言,不太懂,希望得到指导
图片说明
图片说明
图片说明
求大神指导

#include<string.h>
int main(){
    char str[100]={0};
    scanf("%s",str);
    int temp=0,fh,s,save=0;

    int i=0;
    for(i=0;i<strlen(str);i++){
        if (str[i]>57||str[i]<48){

            if(str[i+1]>57||str[i+1]<48){
                printf("%c",str[i]);
            }
            else{
                while(str[i+temp]<=57&&str[1+temp]>=48){
                    temp++;
                }
                if(temp==1){
                    save=str[i+1]-48;
                }
                if(temp==2){
                    save=(str[i+1]-48)*10+str[i+2]-48;
                }if(temp==3){
                    save=(str[i+1]-48)*100+(str[i+2]-48)*10+str[i+3]-48;
                }
                for(s=0;s<save%7;s++){
                    printf("%c",str[i]);
                }
                printf(" ");
                i=i+temp;
                temp=0;
            }
        }
    }
    return 0;













}

...你可以看看ASCII表的。
当你把它定义为char类型时3就不再是3,在表中a是97应该if的条件成立然后再判断str的第二个字符,3在表中是51,所以不满足if的条件,所以自然就不会有输出了

新手都在弄这个?你在逗我?