Ⅰ 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
另外自增 、自减 、还可能和编译器有关系 。
(1)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语言后置自增什么时候自增(自减)
C语言中,后置自增(自减)是在执行完所在语句后,变量的值再自增(自减)。
举例说明如下:
intnum=0,s=0;
while(num++<3)
{
s=s+num;
}
//第1次执行while时,num=0,第1次执行完while后,num=1,此时,s=0+1=1
//第2次执行while时,num=1,第2次执行完while后,num=2,此时,s=1+2=3
//第3次执行while时,num=2,第3次执行完while后,num=3,此时,s=3+3=6
//第4次执行while时,由于num=4>3,所以推出循环,最后s=6
Ⅲ C语言自增自减
在表达式里,像题目这种++,--。在变量前面就是先自增自减再取变量值。在变量后面先取变量值再自增自减。
比如:j=i++;意思就是先取i的值赋值给j,以后i再自增。后面代码也是这个意思。你可用这个思路跟着代码走一遍。