展开全部
碰到这种复杂的表达式要谨记1.算符优先级2.表达式计算顺序。
要想验证自己理解是否正确则要写小程序,将每一步的变量打印出来。
下面是我写的:
#include "stdio.h"
int main(void)
{
int c=3;
c+=c-=c*c;
printf("%d\n",c);
getchar();
return 0;
}
程序结果是-12.
原因:
表达式c+=c-=c*c由于乘法*的优先级比赋值高,先计算c*c结果是6(但记住,此时c仍然为3)然后表达式由右到左运算,先计算c-=6(6是刚才c*c的计算结果),得到c=-6,然后计算c+=-6(此时c=-6)得到结果-12,
一家之言,希望有所帮助
要想验证自己理解是否正确则要写小程序,将每一步的变量打印出来。
下面是我写的:
#include "stdio.h"
int main(void)
{
int c=3;
c+=c-=c*c;
printf("%d\n",c);
getchar();
return 0;
}
程序结果是-12.
原因:
表达式c+=c-=c*c由于乘法*的优先级比赋值高,先计算c*c结果是6(但记住,此时c仍然为3)然后表达式由右到左运算,先计算c-=6(6是刚才c*c的计算结果),得到c=-6,然后计算c+=-6(此时c=-6)得到结果-12,
一家之言,希望有所帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c+=c-=c*c这个表达式的先后顺序为从右到左,
1. c=c-c*c;
2. c=c+c;
1. c=c-c*c;
2. c=c+c;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c+=2等价于c=c+2
c-=2等价于c=c-2
乘除也一样.
c-=2等价于c=c-2
乘除也一样.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c+=2意思是 c=c+2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询