s[i]-'0'
是一种常见的编程技巧,用于将字符类型的数字转换为对应的整数值。
在C++中,字符类型的数字是以ASCII码表示的,其中字符'0'
对应的ASCII码是48。而数字字符'0'
到'9'
的ASCII码依次递增。
因此,当我们需要将字符类型的数字转换为整数时,可以通过减去字符'0'
的ASCII码值来得到对应的整数值。
例如,假设s
是一个字符串,其中s[i]
是一个数字字符,可以使用s[i]-'0'
将该字符转换为整数值。
下面是一个示例:
#include<iostream>
using namespace std;
int main()
{
string s="0123456789";
int num3=s[3]-'0';
cout<<"字符型"<<s[3]<<endl;
cout<<"整数型"<<num3<<endl;
}
在上述示例中,字符串s
中的第四个字符是字符'3'
,通过s[3]-'0'
可以将字符'3'
转换为整数值3。