新手请教大神一个很简单的C语言运算符优先级的问题
[size=18px][/size]
#include<stdio.h>
void main()
{
int a=016;
a%=6-1;
printf("%d\n",a);
a+=a*=a/=3;
printf("%d\n",a++);
printf("%d\n",++a);
}
1 那个整型 a=016 那个0为什么要加到上面,去掉0后算出的结果又不同了,什么原因?
2 a%=6-1 这个是怎么运算的?
3 a+=a*=a/=3;这个又是怎么运算的?
望懂得朋友解答下,新手不懂,谢谢。[b][/b]
[解决办法]
1。0:8进制。实际是14
2。a%=6-1 a=a%(6-1),等于4
3。a+=a*=a/=3;千万不要这样写代码,具体多少自己找个编译器试试就知道了