C语言 请帮忙详细解释下x++和++x
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语言
C语言中x++和++x的区别如下:
x++是在有这个的这个算式中先使用x,再自增1及x=x+1。
++x是先自己加1,再使用。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。
目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
++x:先自加后赋值,表达式的值为x加1后的值,x自身加1.比如b=5,a=++b,那么a=6,b=6;
所以你f()函数返回的是x的值,不是加1后的;
x++是执行完这个语句后x再加一
比如说x=1
y=x++的话 y就等于1,而x在执行完这个语句后,在执行下个语句前才加1
++x没那么复杂就直接变成2了
假设X=1
则X++=1,X=2;只是X自身+1,表达式的值不变;
++X=2,X=2,X的自身+1,表达式的值也+1
返回x
return(x++);执行完之后x加一
x++就是先用x后x加一
++x就是先x加一后用x
++,--运算前缀形式和后缀形式意义不同。前缀形式是在使用变量之前先将其值增1或减1;后缀形式是先使用变量原来的值,使用完后再使其值增1或减1。既++i是先执行i=i+1后,再使用i的值;i++是先使用i的值后,再执行i=i+1.
你这个程序是带有调用函数并有返回值的。但是返回值都是先打印然后才++的,所以运行结果是2,1.
简单说++x要比x++快;如果单独写,它们是一样的.
如果左边有变量.前者自加一,后者依然值不变.
后者还要在内存中另开一个临时存储空间.
益琰盐酸:[答案] 对++i和i++的解释: 解释程序: printf("%d\n",++x+y++);++x后x=7与y相加后是12然后y变成6以后的同理
和县13045892849: C语言中X++和++X有什么区别? - ?
益琰盐酸: x++ 是先运算后 + 1 x = 5 比如 printf('%d',x++); 输出的结果是:5 ++x 是先+1 后运算 同样x = 5 printf('%d',++x); 输出的结果是:6
和县13045892849: c语言中x=11;;x++是什么意识 - ?
益琰盐酸: x++表示 x自增,自增后为11.自增分前置自增和后置自增,即++X和X++. 自增后的结果都是一样的,但前置自增和后置自增还是有区别的. 两者区别主要体现在表达式中或者语句中,比如 y=++X ,是先用X的值自增,然后复制给y,若y=x++,是先用X的值赋给y,然后x再自增.
和县13045892849: C语言里的++ - ?
益琰盐酸: X++,Y++,X--,Y--,--X,--Y这样写出来都是表达式. 其中X++,Y++相当于X=X+1,Y=Y+1X--, Y--相当于X=X-1,Y=Y-1--X, --Y相当于X=X-1,Y=Y-1 但如果这些表达式赋值给另一个变量则就有变化了: 比如M=X++,N=++X这两个表达式就不一样,这其实是优先级的问题 如M=X++(++在后的优先级低于赋值符号的优先级),则先赋值,再自加.如X=1,则M=1,X=2. 如N=++X(++在前的优先级高于赋值符号的优先级),则先自加,再赋值.如X=1,则N=2,X=2.
和县13045892849: c语言中x=1;y=x++是什么意思 - ?
益琰盐酸: int x=1; y=x++; 表示先把 x的值赋给y,然后x自身加一. 最后的结果是 y=x=1; x=x+1=2;
和县13045892849: c语言中指针中x为指针变量++*x,*x++,(*x)++,,,像这样的到底是怎么运算的,求详细解释 - ?
益琰盐酸: ++*x等效于++(*x),就是取出指针x指向的变量的值,然后自加1.比如: int a=2,*x; x=&a; //*x=2,而x是等于a在内存中地址 ++*x; //此时a=3,x还是指向a*x++等效于*(x++),表示x的值(是一个地址)加1,此时x是另外一个地址了,然后取出该地址里的内容,比如: int a[2]={1,2}; int *x=a; //x是指向a[0] *x++; //此时数组a中的内容是1,3,x指向a[1](*x)++是先取x中地址所在的内容,然后改内容加1,类似第一种情况
和县13045892849: 初学C语言,谁帮帮我详细解释下&&和||的运算,谢~~~~~~~~ 例如:x=y=z= - 1 x++||y++&&z++; x,y,z分别是多少 - ?
益琰盐酸: x=0,y=z=-1 因为算到x++时是先取x值再把x加1,x=-1相当于TRUE,或的一边是TRUE结果一定是TRUE,就不再计算了.
和县13045892849: 有一道c语言的程序题关于++x 和x++的 .... - ?
益琰盐酸: 自增和自减如果在变量前,表示先自增自减再做操作;如果在变量后,就是先做当前操作再增减. if(x++>=5) x此时是4,和5比,if判断为假,然后x++,x得5 if为假,进入else分支,打印x,就是打印5,然后x--,此时x=4,但是已经打印完了.
和县13045892849: C语言的简单问题.. - ?
益琰盐酸: 这个其实比较简单. 你看啊x=0,y=0,c=0对吧. 那么x++的意思是先用了这个x再把它加一,也就是说用x++的时候它是等于0的. x++&&y++是先算x++的它等于0了那么后面的就不用算了.也就是说y++不用执行了,所以c也为0.所以答案为 1 0 0
和县13045892849: C语言中return x++,x+5是什么意思 - ?
益琰盐酸: x++,x+5是一个逗号运算表达式,其运算过程为: 先运行x++,然后返回x+5的结果, 注意:x+5中的x是自增之后的x 例如:x=1, y; y=(x++, x+5); printf("y=%d", y ); //得到y=7return x++,x+5 ; 就是返回这个表达式的运算结果给调用者 在这过程中完成了变量x的自增操作,并返回了自增后的x与5的和