📜  C |运营商|问题5

📅  最后修改于: 2021-06-28 22:28:09             🧑  作者: Mango

#include 
int main()
{
    int i = 3;
    printf("%d", (++i)++);
    return 0;
}

上面程序的输出是什么?
(A) 3
(B) 4
(C) 5
(D)编译时错误答案: (D)
说明:在C中,前缀和后缀运算符需要l值才能执行操作并返回r值。执行时,表达式(++ i)++将变量i(i为l值)的值递增,并返回r值。编译器尝试后补偿r值时,会生成错误(需要l值)。

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。