C语言中 int a = 3, b; b = a = -a++; 结果是什么?为什么?

如题所述

您好,这个样子来的,最后b=-3,a=-2

温馨提示:内容为网友见解,仅供参考
无其他回答

C语言中 int a,b; a=0; b=a; a和b指向了同一片内存么?为什么?
这个a1,b1是分别指向a,b的内存地址,这两个结果不一样

c语言中a=3,b=2,c=1。a<=b+c的值为什么是0?
结论:c语言中a=3,b=2,c=1。a<=b+c的值是1 分析:根据C语言的运算符优先级,加号(+)优先级高于小于等于(<=),所以 3<=2+1,即3<=3,结果为“真”,所以值是1。代码验证如图示:

两道c语言编程,能不能帮忙分析一下结果为什么不同?
因为STU中的char *name声明的name是个指针,当b=a操作后b就是a的拷贝,指针name被拷贝后仍然指向同一个地方,所以对name指向的目标值是最后一次操作的结果。这就就像int x=3,*p1=&x,*p2=p1;*p2=10;结果因为x=10了,所以*p1也就是10。其他值的改变使a与b不同好理解不赘述。所以结果应该是Z...

c语言中,int i=3,k=(i++)+(i++)+(i++);为什么执行结果是后k=9,i=...
这里涉及到运算顺序的问题。i++指先使用i的值,再将i加一。所以,k先等于三个i相加,结果是k=9。i的值使用完毕后,再从第一个i++开始,对i加一,此时i=4;对第二个i++使i加一,此时i=5;最后对第三个i++使i加一,此时i=6。

C语言中的逻辑与运算符(&)是什么符号?
在C语言中,逻辑与运算符"&"用于判断两个条件是否同时满足。如果两个操作数都为真(非零),则结果为真(非零),否则结果为假(零)。例如,以下代码将打印"Both true",因为第一个和第二个条件都为真:int a = 1; int b = 2; if (a & b) printf("Both true");在C语言中,逻辑与...

c语言中三个数比较大小结果为什么总是最后一个数?
您好,很高兴回答您的问题。三个数比较大小,在现实生活中是先比较两个数的大小,然后用之前比较后的大者与第三个数比较,从而找出其中的最大者。在c语言中,比较三个数大小的方法与现实生活中是基本一样的,都是先找出两个数中的大者,然后再与第三个数比较,从而找出其中的最大者。具体比较程序...

初学C语言,帮我看看这个输出结果为什么是0?
1、因为你刚开始定义a,b是int类型的,整形的。2、所以在a进行计算的时候会将12+12.4这个算式(a=12+12.4)计算成24,计算机自动将a语句的结构保存成整数型。3、在你将b的值赋值为浮点型的a(b=(float)a;)时,结果其实应该是24.00。4、但是由于你并未给b改变类型,所以他还是一个整形,在...

C语言问题 运行结果是多少 为什么 求详细解答
结果15 之所以容易被理解错误是由于运算符优先级的问题 解决此类问题,第一步,宏展开 k=10*MIN(i,j);即 k=10*(i)<(j)? (i):(j);第二步,根据运算符优先级、结合性判断 原式等效于 k=(10*(i))<(j)? (i):(j);二目运算符*优先级高于三目运算符? :第三步,代入值,判断...

几道C语言指针方面的问题
int a=10,*b=&a;表示的是把a的地址给指针变量b。2.B,其中D是错的,因为楼主只是声明一个指针变量,你没有初始化,也就是没有分配内存,要是楼主直接int double r=99,*p;*p=r;虽然编译不会出错,但是 连接会出错,因为既然P没有分配空间,怎么能把值r放到里面的,要是改成这样:int *p=...

c语言问题,结果是多少,为什么
结果2,2,2;int i=1,j=1,k=2指输入i=1;j=1;k=2;(j++||k++)根据C运算符的优先级,自左向右,||是“或”运算符,所以j进行加1运算;&&是“与”运算符,i也进行加1运算;所以结果为2,2,,2;望采纳!

相似回答