a=(a++)%4怎么运算,求讲解运算规则,书看完不是很理解,不知道怎么具体计算
a++是先运算后自增,所以先计算a%4,然后将a自增,最后将前面的结果赋值给a,所以最后a的值为a%4
有帮助望采纳~
a++与++a的区别:看谁写在前
若是a++:则为先对a进行运算,然后再+1;
若是++a:则为先+1,再对a进行运算
//a=(a++)%4执行顺序
a=a%4;
a++;
//a=(++a)%4执行顺序
a++;
a=a%4;
觉得有用的话采纳一下哈
运算符的优先级问题。
假设a=7
有括号先算括号里面的 a++ 表示先用a,再将a进行加一操作 所以 (a++) = 7 因为是先用a
然后=和% %的优先级高于= 所有先计算% 也就是 7%4
最后赋值给a a=3
你的疑惑在(a++)
你可以运行一下这个
int main()
{
int a,b;
a = 6;
b = (a++);
printf("%d,%d\n",a,b);
a=(a++)%4;
printf("%d,%d\n",a,b);
return 0;
}
输出为:
7,6
3,6
有帮助望采纳~