有时候需要用到将char字符类型转化为整数类型,即1+‘0’=1;
例如代码
char a = '1';
cout<<int(a)<<endl;
return 0;
则运行程序后,输出的ASCII码为
此时a为字符1,ASCII码为49
当代码改为
char a = '1';
a = a-'0';
cout<<int(a)<<endl;
return 0;
输出结果为
当字符a减去‘0’后,输出的为数字1。
这是因为'0'是个基准加上0-9的偏移值可以得到字符'0'-'9'
反过来字符'0'-'9'减去'0'可以得到这个偏移值即对应数字0-9
在解决某些问题时可以使用这个方法
例如:
——洛谷 P1151