Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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_Post Increment_Pre Increment - Fatal编程技术网

C 单行中的增量前/增量后减量求值

C 单行中的增量前/增量后减量求值,c,operators,post-increment,pre-increment,C,Operators,Post Increment,Pre Increment,你能给我解释一下吗 我已经阅读了几乎所有关于stackoverflow的问题 未定义的行为 前/后公司。。12月。。运算符优先级/结合性 使用括号 但结果并不确定 请解释一下,我明天有个面试 int a, x = 0; // value of x ------> a(sum) //gcc 4.9.9.2[dev cpp] 2 1 2 4

你能给我解释一下吗

我已经阅读了几乎所有关于stackoverflow的问题

未定义的行为 前/后公司。。12月。。运算符优先级/结合性 使用括号 但结果并不确定

请解释一下,我明天有个面试

int a, x = 0;
//                               value of x ------>                 a(sum)      
//gcc 4.9.9.2[dev cpp]            2    1      2      4      5       14
//acc to my calculation           2    0      2      4      5       13      
//geeksforgeeks compiler          5    5      5      5      5       15
//gcc 6.3 [codechef ide]          5    5      5      5      5       15
a = ((((++x + x++) + ++x) + ++x) + ++x);

printf("%d....%d", x, a);

return 0;
如果我犯了错误,请帮我改正。
谢谢

没有序列点,因此您的代码调用未定义的行为


括号不引入序列点,因此,尽管您使用了它们,您仍然调用UB。

未定义的行为这不能是面试问题……是的,它可以是面试问题。答案是:它的行为没有定义。对于一些操作员来说,评估行为没有定义。我已经阅读了几乎所有关于stackoverflow的问题——这没什么。我在Youtube上看过几乎所有的视频B但我使用了括号,这样就没有未定义的行为,代码应该按预期工作。@rewrihitesh:括号不引入序列点。好的,谢谢,我学到了一些很棒的东西。再次谢谢