急!急!急!简单C++题目!求a值!

来源:百度知道 编辑:UC知道 时间:2024/06/05 05:18:41
#include<iostream.h>
#include<math.h>
void main()
{
double a,c=5;
a=2+(c+=c++,c+8,++c);
cout<<"a="<<a<<endl;
}

a等于多少?

最主要说明过程`最主要说明过程`最主要说明过程`谢谢`

先看这个逗号表达式
(c+=c++,c+8,++c)

逗号表达式是取最右边的值为表达式的值

c+=c++ 得出c=11(c原来为5,5+5然后自加1为11)

c+8没有赋值,不考虑(前一个要考虑是因为给c赋值了,最右边要用到c,从而求出表达式的值)

++c得出c=12

所以12就是(c+=c++,c+8,++c)的值

----------------------------------
a=2+12=14就是结果

这种题目真的是垃圾。谁编程序会编成这样

(c+=c++,c+8,++c)的值是最后那个,++c,先+后用,就是a=2+6
就是a等于8

这种题目真的是垃圾

强烈建议不要如此编程.