C语言成长之路25:加加和减减练习
2021-04-12 15:29
标签:工具 不同的 而在 图片 mic 站长 pre 编译器 inf 上一篇的习题中: 当使用clion编译时,结果是60,是因为编译器会把一行当成一个算式,而不是一步一步按照优先级进行运算,所以无论是++x,x++,--x还是x--,都不会进行运算,这里的4个运算都为10,所以结果为10 + 30 + 10 + 10=60,而在站长工具的在线代码编译环境当中,是会根据运算优先进行运算,所以上一篇我得到的结果是68而不是60; 而这种运算,会根据不同的编译环境,不同的编译器而会产生不同的结果,只需要了解其中的运算优先级即可,不必过多的纠结,因为这个是没有太大的意义的; ps:来自C++从业者的教导 C语言运算符优先级:点击前往 C语言成长之路25:加加和减减练习 标签:工具 不同的 而在 图片 mic 站长 pre 编译器 inf 原文地址:https://www.cnblogs.com/akne/p/13347675.html定义一个变量x=10;y = x++ + ++x * 3 + --x + x--
1 void main(){
2 /* C语言成长之路25:加加与减减练习
3 *
4 */
5 int a = 10;
6 int b = a++ + a++;
7 printf("b = %d",b);
8 /* 过程:
9 * 1--> 先运算后面的a++,再运算前面的a++,因为是后++,右边的值还是10,而左边的值是进行过++的,所以为11
10 * 2--> 所以结果就等于11 + 10 = 21;
11 */
12 int c = ++a + ++a;
13 printf("\nc = %d");
14 /* 过程:
15 * 1--> 由于前面已经进行过两次的a++了,目前的a的值已经变成了12
16 * 2--> 两次运算都是++a,先计算++部分,所以a又在原来的基础上+了2,最后a的值变成了14,加起来是28
17 */
18 };
上一篇:JavaScript预览图片