为什么cout<<'1'输出是原来的数字,而10以上输出的就是很大的数了?

cout<<'1'
cout<<'2'
等等
1~10之间输出都是原来的数字
而10以上就是很大的数了,比如说cout<<'10'
输出是12592

单引号内的是char ,运行时会有警告的'multi-character character constant [-Wmultichar]'
如果想要输入数字的话,可是用下面的方式

 int main()
{
    cout<<10;//1
    cout<<"10";//2
    return 0;
}

因为这么这本来就是错的,单引号只能包围一个字符,编译器至少会报warning的

 '1'  char
 1   int  or long 

注意正确的类型。。。

懂了就可以关闭问题了。

单引号就是字符,当你大于9的时候就变成2位了,不能使用单引号了,应该使用双引号

懂了,单引号只能包含一个字符,但那奇怪的数字时怎么得来的我很好奇