自增自减
#include <stdio.h>
int fun1()
{
int a=3,b=3,c=3,d=3;
printf("a=%d\nb=%d\nc=%d\nd=%d\n",a,b,c,d);
printf("\n");
printf("a++=%d\n",a++);//①
printf("a=%d\n",a);//②
printf("\n");
printf("++b=%d\n",++b);//③
printf("b=%d\n",b);//④
printf("\n");
printf("c--=%d\n",c--);//⑤
printf("c=%d\n",c);//⑥
printf("\n");
printf("--d=%d\n",d--);//⑦
printf("d=%d\n",d);//⑧
printf("\n");
return 0;
}
①已知a求a++,a++=a,a=a+1
②已知b求++b,++b=b+1,b=b+1
③已知c求c--,c--=c,c=c-1
④已知d求--d,--d=d-1,d=d-1
%c和%d
#include <stdio.h>
int fun4()
{
printf("%d\n",'A');
printf("%c\n",'A');
printf("%c\n",'\101');
printf("%c\n",'\x41');
return 0;
}
A的ASCII码值是65,八进制的101就是十进制的65,十六进制的41就是十进制的65
逗号运算符
#include <stdio.h>
int fun5()
{
int a=3,b=4;
printf("%d\n",(a++,b=a,b--));
return 0;
}
a++=3,a=4,b=a=4,b--=b=4
因为逗号运算符取最右边的表达式的值,故原式为4