关于String,int,char的疑问
学c++的时候,有个例题是关于安全转换的:
include<iostream>
using namespace std;
int main(){
char c=‘x’;
int i1=c;
int i2=‘x';
char c2 = i1;
cout<<c<<'\n'<<i1<<'\n'<<c2;
}
结果输出是x 120 x
此前输入char c = "x"; 输出报错,
我起初认为是因为x使用”“标记,所以被识别为String,而char范围小于String导致
但后来又想了下int,他与char也相差比较多,发现这个好像说不通,但int i1 = c却不会引起编译器报错,
这是什么原因?