C代码,其中我有一个整数变量的值,在预增量操作后我需要得到输出

-6 c pre-increment

i=2;

i= ++i + ++i + ++i;

printf(i)
Run Code Online (Sandbox Code Playgroud)

请给出输出说明吗?
我得到的答案是12但它应该是13.

use*_*342 5

根据C标准,代码的行为是未定义的,因为不允许在同一表达式中多次使用preincrement运算符.输出可以是任何东西.

有关该主题的更全面的处理,请参阅此问题的答案.