① c语言自增自减怎么算
a=10 b=10 c=10
主要分析a=(--x<x++)?--x:++y;
先--x先执行自减操作x=9再进行后续判断
再x++用x进行判断再进行自加操作x=10
显然<符号不成立,两边应该是相等的,
执行++y,y自加则y=10
b=x++;执行后b=10,x=11
c=y执行后c=10,y=10
② c语言的自增自减问题
计算:从右往左,并输出到“缓冲区”。
1、缓冲区是一堆栈
2、第一步:处理后面的“i--”。8进入缓冲区,i=7。缓冲区:8 <-(指针)
第二步:处理“i++”。7进入缓冲区,i=8。缓冲区:7 8<-
第三步:处理”--i“。8进入缓冲区,i=7.缓冲区:8 7 8
第四步:处理“++i” 先自增1,然后8进入缓冲区,i=8 .缓冲区: 8 8 7 8
3、输出缓冲区数据(栈规则):8 8 7 8
另外自增 、自减 、还可能和编译器有关系 。
(2)c语言确定自增自减方法扩展阅读:
后缀表达式 2级
postfix-expression [ expression ],数组下标运算。
postfix-expression ( argument-expression-list),函数调用,括号内的参数可选。
postfix-expression . identifier,成员访问,
postfix-expression -> identifier,成员访问,->号之前应为指针。
postfix-expression ++,后缀自增
postfix-expression --,后缀自减
( type-name ) { initializer-list }
( type-name ) { initializer-list , } 复合初始化,C99后新增。
③ C语言自增自减
在表达式里,像题目这种++,--。在变量前面就是先自增自减再取变量值。在变量后面先取变量值再自增自减。
比如:j=i++;意思就是先取i的值赋值给j,以后i再自增。后面代码也是这个意思。你可用这个思路跟着代码走一遍。
④ C语言自增自减运算符用法
C语言的前置++和后置++,称为自增运算符
前置--和后置--称为自减运算符,下面以自增运算符的区别来加以介绍,自减类似
如果单独写 自增运算符为一个语句,二者没有区别
++i; 和 i++; 都是让i+1赋值给i
但是如果把自增运算符写入到另外表达式中二者就有很大区别了
例如
i=5;
j=i++;
执行后i为6,j为5
i=5;
j=++i;
执行后i为6,j为6