c+ +强制类型转换后不能进行判断

问题

c++强制类型转换后不能进行判断

代码

c++

#include<iostream>
#include<string>
using namespace std;
void judge(string a,int n){
    int j,t;
    
    for(j=0;j<n;j++){
        t=a[j];
        //if(a[i]<='9'&&a[i]>='0')
        cout<<t<<" ";
        if(48<=t<=57)
        {
        cout<<a[j]<<" ";    
        }
        else{
            cout<<" ";
        }
        
    }
}

int main(){
    string a;
    int n;
    cin>>a;
    n=a.length();
    judge(a,n);
    return 0;
    }



运行结果及报错内容

img

转换成int类型的t输出检验都是正确的,已将转成int,但是输出结果来看并没有进行if条件的判断,都直接输出了。

尝试过的方法

如果不进行转换直接换成对于字符的对比判断就没有错if(a[i]<='9'&&a[i]>='0')

问题

为什么转换后的判断失灵了

if(48<=t<=57)改为
if(48<=t && t <=57)