C语言后置自增啥时候自增(自减)?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言后置自增啥时候自增(自减)?相关的知识,希望对你有一定的参考价值。

如题。是不是在使用变量后自增(自减)?如果是怎样才算使用了变量?

C语言中,后置自增(自减)是在执行完所在语句后,变量的值再自增(自减)。


举例说明如下:

int num=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

参考技术A 后置自增,我是理解成当本语句结束后再自增。
如int a=1;a++;printf("a=%d",a);
在a++;遇到“;”前所使用的a的值是未自增前的值1。
“;”后再使用到a其值就是自增后的值2。
自减一样~

你追问的那个程序是应该当整个printf语句结束后m和n才自增。本回答被提问者采纳
参考技术B 后置自增先拿原来的变量值做运算,再自增;比如说
i=1;num=i++;
那么首先将i的值(1)赋值给num,然后再对i自增,即结果为num为=1,i=2
如果是前置的,则相反,先自增,再做运算,如
i=1;num=++i;
先将i自增(i=2),然后再运算,赋值给num,即num=2,i=2
参考技术C C语言中,后置自增(自减)是在执行完所在语句后,变量的值再自增(自减)。
举例说明如下:
int num=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
参考技术D ++a,是a先加1再运行;
a++,是a先运行再自加1;
减一样;
当赋值给其他变量,输入输出后才算使用了,如b=a^2,printf("%d",b);这样,a,b都使用了追问

看一下这程序:
main()

int m =011,n=11;
printf("%d %d\n",m++,m^n++);

结果是?m和n分别是什么时候自增啊?

以上是关于C语言后置自增啥时候自增(自减)?的主要内容,如果未能解决你的问题,请参考以下文章

C语言面试干货——C语言自增/自减操作的陷阱

在C语言中自增自减运算符有啥作用?

c语言中自增自减运算符的运算次序?

c语言中条件判断表达式中出现自增自减符时的运算顺序

c语言中自增自减运算符的运算次序?

C: printf参数执行顺序与前置后置自增自减的影响