
cout<<5<<2<<(5<<2)<<endl ; cout<<(5,2)<<5,2;分别输出的是什么?为什么??
展开全部
结果:
5220
25
第一个结果前面52没说的了,直接输出的,(5<<2)是移位运算,5对应二进制101,向左移两位,变为10100,即十进制的20
逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值
(5,2)的值为2,后面那个我估计是直接输出的5,编译器把cout<<(5,2)<<5和2当做两个表达式来处理的,可以用逗号分隔
5220
25
第一个结果前面52没说的了,直接输出的,(5<<2)是移位运算,5对应二进制101,向左移两位,变为10100,即十进制的20
逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值
(5,2)的值为2,后面那个我估计是直接输出的5,编译器把cout<<(5,2)<<5和2当做两个表达式来处理的,可以用逗号分隔
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |