'1'和1差了48
今天遇到了一行代码
x[y[i]-48]++;
是关于char类型的'1'和int类型的1的转换
刚开始没看懂,后来想可能是它们的位数差了48
验证代码如下
#include<iostream>
using namespace std;
int main()
{
    char a='1';
    int i=1;
    int s;
    s=a-i;
    cout<<s<<endl;
    return 0;
}
输出:48
也就是说char ‘1’比int 1大了48,借此可以实现两者的快速转换
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号