C语言自增自减运算符
7
2021-10-12
#includevoid main() /*主函数*/ { int a,b,c,d; a=5; b=5; c=(a++)+(a++)+(a++); d=(++b)+(++b)+(++b); printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d); }
自增自减运算符语法
自增运算符 ++ 使操作数的值加1,其操作数必须为:可简单地理解为变量。 ++i 表示:i自增1后再参加其他运算 i++表示:i先参与运算后i的值再自增1 自减同理; 举例:#include结果:4,5 来做一点小改动:int main(){ int i=3; int j=4; i++; ++j; printf("%d,%d\n",i,j); return 0; }
#include这里结果就是:3,5 ++前置:i自增1后再参与其它运算 ++后置:i参与运算后,i的值再自增1 a = i++;由于是先执行赋值运算,再自增,所以结果是a=3,i=4;而b = ++j,则因先自增,然后再赋值,所以b,j均为5。 如果再复杂点呢?int main(){ int i=3; int j=4; int a = i++; int b = ++j; printf("%d,%d\n",a,b); return 0; }
#include结果是7,12 当编译器看到++j + ++j时的第一步:算左边的++j,此时j=5,第二步看到后面的+号 继续往下走,又看到一个++j,只好又自增一次再参与运算,此时j=6,那么6+6=12.int main(){ int i=3; int j=4; int a = i++ + i++; int b = ++j + ++j; printf("%d,%d\n",a,b); return 0; }
- 0
-
分享