您的位置:

c语言b+=3,c语言B+83

本文目录一览:

c语言题目 b=3 ; b=(++b)+(++b)+(++b); 输出最终b=? 答案是16 具体怎么算的?我怎么算到...

计算b=(++b)+(++b)+(++b);时

第一步:计算第一个(++b)这点谁都不会错;此时b=4;

第二步:计算第二个(++b)这点也没有问题吧,此时b=5;

第三步:计算(++b)+(++b)将5代入,(++b)+(++b)=10;这点容易想不通,为什么不是5+4呢?因为变量只有一个存储单元,中间结果被覆盖掉了。

第四步:之后的运算应该不是问题了吧……

程序是先运行了b=(++b)+(++b);这儿等号赋值语句执行前,a已经完成了两次自加a的值为5,所以加了之后b=10;然后b=b+(++b);b自加变成6,所以b=10+6=16;

若有帮助

望采纳!

c语言指针中*b=3与b=3有什么区别

b指针的话,b=a肯定不对。要么*b=a,要么b=a,这两种语法都正确,但是意义不同。前者将a的值赋值给指针b所在的地址,两个值相互不影响。后者将a的地址赋值给指针b,a和b指向同一个内存地址,该地址的值如果有变化,a和*b同时会变化。

c语言 第七题 为什么b是3

因为a++ --b这个条件是false,,false什么都是false,所以后面的条件都不会判断了,也就是说只执行了a++ --b。所以b=3