#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基础课程》。