#include <stdio.h>
int main()
{
int a, b, c;
a = 5;
c = ++a;
b = ++c, c++, ++a, a++;
b += a++ + c;
printf("a = %d b = %d c = %d\n:", a, b, c);
return 0;
}
#include <stdio.h>
int main()
{
int a, b, c;
a = 5;
c = ++a; //++a=a+1,c=a+1 因此a=6,c=6
b = ++c, c++, ++a, a++;
//b=++c就是c=c+1,b=c,由这里得出c=7,b=7
//c++就是c=c+1所以得出c=8
//++a就是a=a+1得出a=6+1=7
//a++就是a=a+1得出a=7+1=8
b += a++ + c;
//这里实际就是b=b+(a++ + c),
//也就是b=7+(8+8)=23,a=a+1=9
//注意这里的a++与上一个a++的用法()具体区别看下面几个小程序的区别
printf("a = %d b = %d c = %d\n:", a, b, c);
return 0;
}
最后输出9,23,8
int main()
{
int a = 10;
int b = a++;
printf("%d\n", b);
printf("%d\n", a);
return 0;
}
这里最后输出10,11
int mainf()
{
int a = 10;
a++;
printf("%d\n", a);
return 0;
}
输出11
int mainf()
{
int a = 10;
++a;
printf("%d\n", a);
return 0;
}
输出11
由此可见当a++与++a单独存在时基本没什么区别
但当它们与其他变量有关系时就有先后加减的区别了
还有一个要注意的, a=7,b = ++c, c++, ++a, a++;
这不是逗号表达式,a=7,b = (++c, c++, ++a, a++);
这个才是逗号表达式,逗号表达式中b等于括号中最后一个式子即a++,所以逗号表达式中b=7,a=8