C语言P16拾遗问题
i++和++i 什么区别听懂还有大佬讲解下吗i++ 是先使用 i 再对 i 自增 1,例如:
int i = 5;
printf("%d", i++);
打印的是 5 。
++i 是先对 i 进行自增再使用 i,例如:
int i = 5;
printf("%d", ++i);
打印的是 6 。 看我这个程序的输出吧:
#include<stdio.h>
int main()
{
int j = 3,i = 5;
printf("j = 3,i = 5\n");
printf("\n");
j = j * (i++);
printf("j = j * (i++) 运算后的结果是:%d, %d",j,i);
printf(" // 先运算,再自加");
printf("\n");
j = 3,i = 5;
printf("\n");
j = j * (i--);
printf("j = j * (i--) 运算后的结果是:%d, %d",j,i);
printf(" // 先运算,再自减");
printf("\n");
j = 3,i = 5;
printf("\n");
j = j * (++i);
printf("j = j * (++i) 运算后的结果是:%d, %d",j,i);
printf(" // 先自加,再运算");
printf("\n");
j = 3,i = 5;
printf("\n");
j = j * (--i);
printf("j = j * (--i) 运算后的结果是:%d, %d",j,i);
printf(" // 先自减,再运算");
printf("\n");
j = 3,i = 5;
printf("\n");
j = j * (+i);
printf("j = j * (+i)运算后的结果是:%d, %d",j,i);
printf(" // 保持符号再运算");
printf("\n");
j = 3,i = 5;
printf("\n");
j = j * (-i);
printf("j = j * (-i)运算后的结果是:%d, %d",j,i);
printf(" // 改变符号再运算\n");
printf("\n");
printf("单一的 i+ 或单一的 i- // 没有意义,并且系统会报错\n");
printf("\n");
}
**************************************************************************
j = j * (i++) 运算后的结果是:15,6 //先运算,再自加
j = j * (i- -) 运算后的结果是:15,4 //先运算,再自减
j = j * (++i) 运算后的结果是:18,6 //先自加,再运算
j = j * (- -i) 运算后的结果是:12,4 //先自减,再运算
j = j * (+ i) 运算后的结果是:15,5 //保持符号再运算
j = j * (- i ) 运算后的结果是:-15,5 //改变符号再运算
单一的 i + 或单一的 i - //没有意义,并且系统会报错
Press any key to continue . . .
这是特殊运算符。当要用它的任何东西里面出现了,则,若++--在前,则先自增自减1再把增减后的值给那些东西用。
若++--在后,则先把本身的值给那些东西用,然后它本身再自增自减1。
如,i=5。printf("%d",i++)
打印的是5,先把i给printf传过去,此时是5,然后再自增1,即i的值是6。但printf打印的是传过去的值,即5 405794672 发表于 2020-8-13 19:44
这是特殊运算符。当要用它的任何东西里面出现了,则,若++--在前,则先自增自减1再把增减后的值给那些东西 ...
自增自减是什么意思 qq2078255969 发表于 2020-8-13 19:48
自增自减是什么意思
比如 i ,就它自己,没有其他的元素了,就形成了自加自减:
i = i +1;
i = i - 1; 你可以这么记忆
x=i++ x=i 然后i再自加
x=++i i先自加 然后x等于自加之后的结果
也就是说i在前面的时候 就是取i的值 qq2078255969 发表于 2020-8-13 19:48
自增自减是什么意思
未知数自己增加和减少
比如,值为2的未知数,自增1就是+1,就成了3;自增2,就是加2,就成了4。
自减是同样的道理 我来学习学习,顺便帮你顶上去,让更多的人看到
页:
[1]