c语言中,已知a=12,则表达式a+=a-=a*=a的结果是什么,求步骤

作者&投稿:却弯 (若有异议请与网页底部的电邮联系)
c语言中,已知a=12,则表达式a+=a-=a*=a的结果是什么?~

结果是0

原因:
从右向左进行
a*=a --------->a = a*a;
a-=a --------->a = a-a //这个是0哦

所以结果是0了。

赋值运算符优先级最低,所以计算方式是由右向左, 首先是 a*=a = 12 * 12 = 144, 算出的结果 再计算 a = a - 144 = -132, 然后再计算 a = a + (-132) = -120;
不明白继续追问!

从右向左算
首先a的值是12
第一步:
计算a*=a
a=a*a=144
第二步:
计算a-=144
a=a-144=0
第三步:
计算a+=0
a=a+0=0

结果是0

原因:
从右向左进行
a*=a --------->a = a*a;
a-=a --------->a = a-a //这个是0哦

所以结果是0了。

a=a*a
a=a-a
a=a+a
结果为144

-120的干活,这个是按照运算优先级


c语言求详尽分析:int a=1,b=2;b==a=2;判断真假?本人认为为0但与答案不...
int a=1,b=2;b==a=2; \/\/这个是逻辑表达式,表示b==(a=2),判别b与a=2这两个表达式的值是否相等,因为相等,故结果为真,以整数输出是1。

已知int a=1,b=2;则语句printf("a\\b");输出的是?
a\\b都是在双引号里面,所以只是字符串,和变量ab无关 所以,回先输出a \\b是一个转义字符,功能是退格一个字符,注意不是删除 所以在没有后续输出的情况下,没有任何效果 输出就是单独一个a

c语言中,若有语句int a=1,b;double y=2.3;b=(int)y;则b的值为 A 3...
b=(int)y; \/\/对double变量取整,然后赋给int型变量b,所以b的值为y的整数部分,是2

c语言的问题。float a=1,*b=&a,*c=&b; 这个定义为什么不对
float a=1,*b=&a,*c=&b;&a为取a的地址,赋给指针b,对的 你再去指针的地址&b赋给一个一维指针c就错了·这里的需要这样**c = &b;

C语言中x*y怎么算?x=a+b.y=b+c. a=1 b=2. c=3
include <stdio.h> int main (void){ int a=1,b=2,c=3;printf("x*y=%d\\n",(a+b)*(b+c));return 0;}

C语言中if(c=a+b)是什么意思其中c=3 ,a=1,b=2
if (c = a+b)与if (c == a+b)不一样.第一个是将a+b的值赋给c,如果结果不为零,则条件判断结果为真,否则为假;第二个是将a+b的值与c的值比较,如果相等则条件判断结果为真,否则为假.这个条件语句的书写方式一般并不被提倡.

c语言中if(3&&2) a=1;else a=2; 请问a是多少?
在C语言中,数值参与到逻辑表达式中时,非0为 true,0为 false。3 && 2,是一个逻辑与表达式,两边同时为 true 时,表达式为 true。由于3和2都是非0的数,都翻译为 true,因此 3 && 2 为 true。因此 a 值为 1。

C语言 已知a,b,c都是一位正数,求当三位正数abc、cba的和为1333时a、b...
这个程序就是了,已经通过了vc的调试运行 include<stdio.h> void main(){ int a,b,c;for(a=0;a<10;a++)for(b=0;b<10;b++)for(c=0;c<10;c++){ if((a*100+c*100+b*20+c+a)==1333)printf("a=%d,b=%d,c=%d\\n",a,b,c);} } ...

c语言编程,如果a用数字1表示,b用数字2表示……z用数字26表示,aa用27...
字母-'a'+1 表示 1-26 允许2位 include <stdio.h> include <math.h> int f26(char *s){ int i,L;int sum=0;L = strlen(s);for (i=0;i<L;i++){ sum = sum + pow ( 26,i) * (s[L-i-1]-'a'+1);} return sum;} main(){ char x[3]="ab";printf("%s == ...

c语言中!a==1是什么意思
!操作符优先度比==高 所以只要a是0 !a就是1, 所以返回1 如果a不是0, 则!a就是0, 所以返回0 所以等价于判定a是不是等于0

崇文区13017186645: 请教大家一道C语言题:设a=12,求下面表达式a的值:a+=a - =a*=a. -
伯牙吾台倪九味: 这个题目要看运算符的优先级和结合性.=是右结合的,a初值是12,执行a+=a-=a*=a;时是这样来执行的:a*=a;//a值为144 a-=a; //a值为0 a+=a; //a值为0 运行完后a的值为0.如果再运行,则:a-=144; //a的值为-144 a+=a; //a的值为-288 即运行完结果是-288 若a+=a-=144;语句是在a初值为12的条件运行的,同理可得到运行后a的值是-264. 如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

崇文区13017186645: C语言题目:设a=12, 表达式a+=a -
伯牙吾台倪九味: a+=a就是a=a+a 执行a+=a之后 a=24

崇文区13017186645: C语言:设原来a=12,赋值表达式a*=2+3运算后a的值是? -
伯牙吾台倪九味: 你好!运算后a的值是a=a*(2+3),也就是60.

崇文区13017186645: 若有定义语句int a=12,则执行表达式a+=a - =a+a后a的值为--------. -
伯牙吾台倪九味: a+=a-=a+a,运算符和结合性,由运算符优先级,+优先级为4,-=和+=优先级为14,+结合方向从左至右,+=和-+从右至左,所以:先计算 (a+a),a=12,a+a=12+12=24 再计算 a-=(a+a),即a=a-(a+a)=12-24=-12,最后计算 a+=a, 即a=a+a=-12+(-12)=-24

崇文区13017186645: 1.设 int a=10;执行printf("%X\n",a);后的输出结果是? -
伯牙吾台倪九味: 1:结果是A,因为%X是16进制输出,10在16进制中是A2:243:这个是非法的表达式4:A

崇文区13017186645: C语言的题目写出下面赋值表达式运算后a的值,设原来a=12(1) a/=a+a (2)a%=(n%=2),n的值等于5 (3) a+=a - =a*=a最后一个是a加等于a减等于a乘等于a -
伯牙吾台倪九味:[答案] (1)a/=a+a 等价于 a =a / (a + a),如果a是int型 则a = 0 ;如果a是double或float型,则a = 0.5;(估计题意a是int型)(2)%为求余数,n%=2等价于n=n%2=5%2=1;所以a%=(n%=2)等价于a%=1,即a=a%1=12%1=0(3)a+=a-=...

崇文区13017186645: C语言中的一个表达式a+=a - =a*=a是如何运算的?请高手来指教指教..谢谢 -
伯牙吾台倪九味: a+=a-=a*=a //先算a*=a,即a=a*a=12*12=144 a+=(a-=144) //再算a-=144,即a=a-144=144-144=0 a+=0 a=a+0=0+0=0 ---------> a最后的值是:0

崇文区13017186645: 设原来a=12,则求表达式a+=a - =a*=a的值?用C++,C#的环境计算结果好像不一样,为什么呀?哪位高手能帮忙解答一下,谢了! -
伯牙吾台倪九味: C#中 a*=a 12*=12 后a=144 a-=a 12-=144 后a=-132 a+=a 12+=132 后a=-120 从右开始计算 赋值给左边

崇文区13017186645: (c语言题)已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b - =a))"后,变量b和c的值分别为____. -
伯牙吾台倪九味:[选项] A. 3,1 B. 15,12 C. 15,1 D. 3,12

崇文区13017186645: C语言中:a=(1,2,3),(4,5,6)请问a值和表达式值都是多少,为什么? -
伯牙吾台倪九味: 答案应该是3,原理: 优先级是括号最大其次是赋值运算符,然后是逗号运算符,所以先运算:a=(1,2,3)的括号,由于逗号运算符是从左到右运算所以值应该是3,然后再把3赋值给a,所以a值应该是3,再运算后面括号(4,5,6),值同理是6,然后整个表达式的值就可以简化成 3,6 ,按照逗号的运算值是6,所以整个表达式值是6

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网