C++语言中char a =10和int b =a+'\a'两段代码是什么意思?为什么得出b的结果是17 C++里面有个代码是这样int a(10),b(20);这是...

作者&投稿:房佩 (若有异议请与网页底部的电邮联系)
第一句是定义了一个int型变量a,给他付初值为10;
第二句定义了一个int型变量b,值为a+‘\a’,
而b是int型变量,所以要把等号右边的全部转化为int型,‘\a’是一个转义字符,ASCII码是7,转化为int型就是7,所以b=10+7;

char a =10,定义字符型变量a,其ascii码为10
int b =a+'\a,其中\a为转义字符,意义为响铃(BEL),ASCII码值(十进制)为7

C++语言char a =10和 int b =a+'\a'这两段代码通过什么算出来b的结果是17啊?请说详细谢谢~

'\a' 是转义字符响铃(BEL),其ASCII码是7,也就是说在内存中存储的是数字0x07,当计算b的值时,因为b是个int,所以需要将各值先转换为int,然后进行计算在赋值到b,那么很自然,a+7就是17了。
附:转义字符请看:http://baike.baidu.com/view/73.htm

这个就像类初始化一样,int a(10)是使用的构造函数初始化,int a=1,是使用的操作符初始化