
int型变量a=2,则表达式a+=a-=a+a的值是?
4个回答
展开全部
cddc
我来解释吧
1,a=a
(a=a-(a=a*a)),=是从左向右执行的,于是在执行a=a-a时,a=0了,然后就一直是0了
2,宏定义,d=(a
b)
(a
b)*c,所以80
3,ab是明显错误,字符串是指针常量,不能这样赋值,仔细分析,p和a是一样的数据类型,都是字符指针,但p没初始化!所以是d
4,很明显k不是0,不执行循环
以上各题我都编译实验过,保证正确
我来解释吧
1,a=a
(a=a-(a=a*a)),=是从左向右执行的,于是在执行a=a-a时,a=0了,然后就一直是0了
2,宏定义,d=(a
b)
(a
b)*c,所以80
3,ab是明显错误,字符串是指针常量,不能这样赋值,仔细分析,p和a是一样的数据类型,都是字符指针,但p没初始化!所以是d
4,很明显k不是0,不执行循环
以上各题我都编译实验过,保证正确
展开全部
根据赋值为右侧运算原则
先运算a-=(a + a),即 a=(a - (a+a)),此时 a = -2;
然后a+=(a-=a+a),即a=a + a, 最终 a = -4;
先运算a-=(a + a),即 a=(a - (a+a)),此时 a = -2;
然后a+=(a-=a+a),即a=a + a, 最终 a = -4;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
-4 亲自测试。
测试环境GCC。
个人感觉这个可能结果会和编译器有关。
测试环境GCC。
个人感觉这个可能结果会和编译器有关。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询