吾爱程序员:这里有好玩的游戏和软件
当前位置:首页C语言教程 → 递增(递减)运算符需要 L 值表达式

递增(递减)运算符需要 L 值表达式

来源:网络 | 更新时间:2022-01-10 13:08:23
以下程序的输出将是什么?
#include<stdio.h>
int main()
{
int i = 10;
printf("%d", ++(-i));
return 0;
}
A) 11 B) 10 C) -9 D) None
答案: D,无——编译错误。 解释: 在 C/C++ 中,前置递增(递减)和后置递增(递减)运算符需要 L 值表达式作为操作数。提供R 值const限定变量会导致编译错误。 在上面的程序中,表达式-i 的结果是 R-value,它是预递增运算符的操作数。预增量运算符需要一个 L 值作为操作数,因此编译器会抛出错误。 递增/递减运算符需要在序列点之后更新操作数,因此它们需要一个 L 值。一元运算符(如 -、+)不需要 L 值作为操作数。表达式-(++i)有效。 在 C++ 中,由于引用,规则有点复杂。我们可以将这些前/后递增(递减)运算符应用于未由const限定的引用变量。引用也可以从函数返回。    

最新文章

热点资讯

手游排行榜

CopyRight 2020-2030吾爱程序员

鄂ICP备2021004581号-8

本站资源收集于网络,如有侵权请联系我们:35492删除0109@qq.com