一道关于c语言中 自加自减 算法的题目,菜鸟求解答。请结合实例说明一下++x和x++有什么区别,跪

作者&投稿:臧霞 (若有异议请与网页底部的电邮联系)
c++中,++x和x++(就是前自增和后自增)有什么区别。比如x++*++y应该怎么算?~

++x返回值是增后值 x++返回值是增前值那个表达式的返回值是x*(y+1)(自增前)

C语言中x++和++x的区别如下:
x++是在有这个的这个算式中先使用x,再自增1及x=x+1。
++x是先自己加1,再使用。
用 ' ' 包括起来的都是字符,也就是char型的量,注意是量,不是变量,而x则就是变量。比如你有一个char型的变量x,你想把x的值赋值为x,就这样写 x='x'; 将字符'x'赋值给字符变量x。赋值后变量x的值就是字符x了。

扩展资料:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
参考资料:百度百科-c语言

以++x和x++为例,--同理。
1、++x。
x = 6;
x = x + 1,这时x为7
return x;返回的是x自增后的值

2、x++
x = 6;
tmp = x;这时x和tmp均为6
x = x + 1;这时x也为7
return tmp;返回的是x自增前的值。

同理,自减也是这样。

++x是前置自增运算符,是指变量x的值加1并使用增加后的新值


句容市18776242473: c语言 关于自加自减的一个程序 希望能有人给解答一下谢谢 -
诸园西比: ++(--)i是先自加(减)后,i++(--)是运行过了再自加(减).所以++i 输出9,次时i=9;--i则输出8;(此i=8)i++=9;(但是要在输出以后才变为9,所以输出的结果是8,此时i=9);同理i--=8但是输出为9.后面的只是加个负号,让他变为负数计算罢了.原理相同的.

句容市18776242473: C语言自加自减 练习题 -
诸园西比: 简单说一下吧,如, B = ++A; 这句里, A先自加1再赋给B,相当于A=A+1,B=A 这是先自增再运算. 再如,B=A++,是A先赋给B,然后A再自增1,相当于B=A,A=A+1, 这是先运算再自增, .自减也是一个道理

句容市18776242473: 关于自增自减的一道C语言程序. -
诸园西比: 首先你要弄清楚逻辑与(&&)和逻辑或(||)运算符的计算方式.逻辑与(&&)如果两个操作数具有非零值,逻辑与运算符生成值 1. 如果其中一个操作数是等于 0,则结果是 0. 只要逻辑与运算第一个操作数是等于 0,第二个操作数对象不会计算.逻辑或(||)如果两个操作数具有值 0,则结果是 0. 如果其中一个操作数具有非零值,则结果是 1. 如果中出现第一个操作数具有非零值,第二个操作数对象不会计算.从你给的程序可以看出i,j,k都是大于零的,所以每次计算完j++的时候,K++都不会计算,i++则要计算.所以给你的程序结果应该是2,2,2.

句容市18776242473: 谁能详细的讲一下C语言中的自加自减运算符:++、 ---
诸园西比: a=1,b=a++ b的值为1,a的值为2 a=1,b=++a b的值为2,a的值为2 a=1,b=a-- b的值为1,a的值为0 a=1,b=--a b的值为0,a的值为0

句容市18776242473: C语言中一个自增自减运算题.求好老师教会 -
诸园西比: 比如printf ( "%d,%d\n", i-- , ++j );这里有i--和++j 相当于 i=10,j=1; j=j+1;//这就是j先加1,下面再使用j值 printf ( "i=%d,j=%d\n", i , j );//这里打印出来的i=10,j=2; i=i-1;//这里就是上面使用了i值再减一 //如果你再打印一次的话,你就会发现i=9,j=2了 printf ( "i=%d,j=%d\n", i , j );//这里i=9,j=2

句容市18776242473: 关于C语言中 自加自减的一道题目 请求高手解答
诸园西比: 你可以分析一下反汇编,这个确实和编译器相关. 第一题,我在linux环境下gcc 编译,输出是 k =10 i =5 第二题,我输出的是也是 k=16, i=6 分析一下 编译器会把i变量优化到register中,每次++的动作,都会是该register中的变量+1,那么两次之...

句容市18776242473: C语言中自加自减的问题 -
诸园西比: 第一,y[j++]= x[i]; 等效于 y[j]= x[i]; j++; 前者只是比较紧凑的写法,话说这也是后加的典型用法. 第二,y[j]-=1怎么会有语法错误,它是把指针y指向的下标为j的元素的值赋为-1.这里的-号是指正负的负,而不是减法的意思. 第三,-1的意思只是做一个标记,在这个代码的里的意思是表示数据结束了,后面没有数据了的意思.具体看 for(i=0; y[i]>=0; i++) printf("%5.1f ",y[i]); 看看循环终止条件就应该明白了.不过这样的做法挺垃圾,不推荐这么搞.

句容市18776242473: C语言中的自增自减怎么算 -
诸园西比: 自增,比如说变量s与i 运行s=i++; 输出s,你将会看到s与之前的i值(未增)一样 也就是说,i++是先将i的值赋予s,再将i的值+1 s=++i;输出s,你将会看到s与i增加后一样 也就是说,++i先将i的值+1,再赋值给s 自减同理

句容市18776242473: C语言中自增自减问题 -
诸园西比: b的值是没有疑问的,加了三次是11,但是y的值就不一定了,它取决于编译器的具体实现,你用的的是tc的编译器,我在机器上做了实验,GCC和微软的编译器出的结果都是31.所以,不要去写这样的表达式,因为它们的计算方式取决于编译器因而是无法预测的,这就可能造成未知的错误这并不属于语言的标准或优先级准则,而是编译器的自定义行为,不要写依靠自定义标准的代码 团队补充现在有些 C语言 2级题上有这样的题,答案按照 TC2.0 结果 为 33,11理解 ++B 是 操作前加1 B++ 操作后+1

句容市18776242473: C语言自加运算 -
诸园西比: 自加和自减运算分前置和后置,前置就像++m,后置就是像m++;在简单语句中没有区别,例如++m(++m);......;......; 在复杂语句中就有区别了,前置会先自加或自减,然后将结果赋给一个变量或者显示出来,就如你给的例子printf("%d %d \...

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