A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

int a =3;
int res=a+=a-=a;
printf("%d\n",res);
请问解答思路和步骤。

6 个回复

倒序浏览
答案是0   ,但是程序有警告。。。。。
回复 使用道具 举报

int a =3;
int res=a+=a-=a;

解:
int res = (a+=a)-=a    此时先运算  (a+=a)= a+a  =a=6;
                                 然后再运算  (a-=a)= a-a =a =0;
回复 使用道具 举报
这题,看着脑壳疼。
回复 使用道具 举报
Chenjunfeng 发表于 2016-8-3 21:00
这题,看着脑壳疼。

是啊。这题出得真是让人伤脑筋。
回复 使用道具 举报

int a =3;
int res=a+=a-=a;
      
printf("%d\n",res);


赋值运算 从右向左边
a-=a    // a = a-a = 0
a是0了
前面有个a+a = 0
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马