Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 算子优先与演化_C_Operators - Fatal编程技术网

C 算子优先与演化

C 算子优先与演化,c,operators,C,Operators,在C中 根据优先级,后增量排在第一位 应该是7*9。指出我的错误。你能给我提供一个资源,让我可以详细学习并理解这些东西是如何工作的,这就是评估的顺序等等。你的问题是上面没有顺序点。看见 因此,您无法控制i的两个增量的发生顺序(只是返回递增的数字还是增量之前的数字)。因此,这是未定义的行为 例如,它可以先执行++i,返回8,然后执行i++,也返回8,并给您64。因为它是未定义的行为,从技术上讲,你可以得到任何结果。我想这个问题已经被问了几百次,所以对于C和C++。如果你曾经包含过这个代码(或者任

在C中

根据优先级,后增量排在第一位


应该是7*9。指出我的错误。你能给我提供一个资源,让我可以详细学习并理解这些东西是如何工作的,这就是评估的顺序等等。

你的问题是上面没有顺序点。看见

因此,您无法控制
i
的两个增量的发生顺序(只是返回递增的数字还是增量之前的数字)。因此,这是未定义的行为


例如,它可以先执行
++i
,返回8,然后执行
i++
,也返回8,并给您64。因为它是未定义的行为,从技术上讲,你可以得到任何结果。

我想这个问题已经被问了几百次,所以对于C和C++。如果你曾经包含过这个代码(或者任何模糊的相似的代码),你应该被鞭打到你生命的一英寸之内。你为什么会想到写这样的东西?还有,不要胡说“我在学习c,想理解post和前缀运算符”。@KevinDTimm这是在我的一次考试中被问到的。那太糟糕了-未定义的行为没有答案-除了结果是未定义的。@KevinDTimm:我不知道这是来自考试本身还是来自OP的假设。但是,是的,如果考试期望的是任何正确答案,而不是未定义的行为,那就太糟糕了。
i = 7;
j = i++ * ++i; // outputs 64?