在我上次的采访中,我发现了这个棘手的问题。 在这两行之后,i的价值是什么。
int i=c;
//c is a constant
i=i++;
其中c是常量(其中c之前是初始化的)。请给我一步一步的答案而不是一个字的答案。
答案 0 :(得分:3)
最终我的价值与c相同。
说明: - 当我被分配了 i ++ ;
步骤1.首先i ++返回值c(但不分配给左手操作数i)。
步骤2.然后i ++将i的值增加到c + 1.
步骤3.为i分配在步骤1中返回的值c。
实际上i的值保持不变,但是执行它的一些地方 是c + 1,但最后它被赋值为c。