C 三元表达式语句不起作用[重复]

2024-03-07

#include <stdio.h>
int main()
{
  int a=3,b=4,g;
  a > b ? g = a : g = b ;
  printf("%d",g);
  return 0;
}

为什么值g没有打印出来?编译器说lvalue必需的。这是什么意思?


由于运算符的优先级较高?: over =, 表达方式

a > b ? g = a : g = b;   

将被解析为

(a > b ? g = a : g) = b;  

The expression (a > b ? g = a : g) will give an rvalue. The left operand of assignment (=) operator must be an lvalue1 (modifiable2).

Change

a > b ? g = a : g = b ;  

to

a > b ? (g = a) : (g = b);    

or

g = a > b ? a : b;

1. C11-§6.5.16/2: An assignment operator shall have a modifiable lvalue as its left operand.
2. §6.3.2.1/1: An lvalue is an expression (with an object type other than void) that potentially designates an object;64) if an lvalue does not designate an object when it is evaluated, the behavior is undefined. When an object is said to have a particular type, the type is specified by the lvalue used to designate the object. A modifiable lvalue is an lvalue that does not have array type, does not have an incomplete type, does not have a const- qualified type, and if it is a structure or union, does not have any member (including, recursively, any member or element of all contained aggregates or unions) with a const- qualified type.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C 三元表达式语句不起作用[重复] 的相关文章

随机推荐

  • 如何在仅引用数据的表中循环

    我正在使用功能模块RSAQ QUERY CALL 取回一张桌子 DATA gr data TYPE REF TO data CALL FUNCTION RSAQ QUERY CALL EXPORTING query ZXXXXXXXX us
  • 通过 docker 实现 RSelenium

    我的操作系统是windows 8 1 R的版本是3 3 3 我已经安装了 RSelenium 软件包 并尝试使用以下命令运行它 library RSelenium start RSelenium server startServer che
  • 如何在步骤 1 中单击“下一步”时让 JQuery-Steps 调用 ajax 服务

    我正在使用 jquery 步骤 尽管我需要在单击第一个 下一步 时通过 ajax 调用 c 服务 但这是否可以在显示步骤 2 之前调用并返回 尽管 ajax 事件在加载步骤 2 后返回 但以下代码仍然有效 非常感谢 感谢任何帮助 Jquer
  • Java 形式类型参数定义(泛型)

    我想定义一个泛型类型 其实际类型参数只能是 数字基元包装类之一 Long Integer Float Double String 我可以用这样的定义满足第一个要求 public final class MyClass
  • 以编程方式重新启动设备

    在我的 Android 应用程序中 我想在单击按钮时重新启动我的 Android 设备 但它不起作用 到目前为止我已经做到了 ImageButton restartmob ImageButton this findViewById R id
  • 传单图块在移动设备上加载不正确

    我遇到了传单地图在移动设备上加载不正确的问题 该地图的加载纬度 经度为 25 748503 80 286949 迈阿密市中心 但在移动设备上加载的纬度 经度约为 25 584223 80 028805 大西洋沿岸 将地图拖回到正确的位置似乎
  • 我可以将 terraform 输出设置为环境变量吗?

    因此 terraform 生成了一堆我感兴趣的输出 如何将这些值通过管道传递给环境变量或其他东西 以便我的脚本能够在有人运行后获取它们terraform apply Terraform 无法直接修改调用它的 shell 的环境 一般来说 程
  • 在谷歌地图中为每个国家提供不同的颜色

    有谁知道如何在谷歌地图中为每个国家提供不同的颜色 e g 在世界地图上 蓝色覆盖英国 然后红色中国 等 我想知道google是否提供API来为每个国家提供颜色 Thanks 使用谷歌地图这确实不容易 正如 oezi 所说 你需要为你想要着色
  • 使用以位集作为键的映射时出现问题

    我正在尝试创建一个map在 C 中bitset作为钥匙 但是编译器会生成以下错误消息 In file included from usr include c 4 6 string 50 0 from usr include c 4 6 bi
  • Presto 中的用户定义函数

    我目前正在使用 Presto 0 80 我必须编写一个用户定义的函数来在选择查询期间将摄氏度转换为华氏度 我使用 Hive QL 做了同样的事情 但想知道我们是否可以在 Facebook Presto 中复制相同的内容 任何帮助将不胜感激
  • GAE组织数据结构问题

    好的 我正在与 GAE 合作 我想创建这样的东西 我有类型 组 主题 标签 每个 组 可以有尽可能多的 根据需要 主题 每个 主题 可以有任意多个 标签 如所须 每个 组 可以有任意多个 标签 如所须 它就像一个圆圈 现在我有这样的事情 c
  • QuickDraw 中的 python3 递归动画

    我有一个文本文件 其中包含行星及其相应的卫星 卫星以及它们的轨道半径和周期 我想用它来创建动画quickdraw类似于下面的 文本文件如下 RootObject Sun Object Sun Satellites Mercury Venus
  • 如何通过 Golang 的 json 解组嵌套数组中的对值

    JSON 数据如下 xxx xxx asks 0 00000315 1022 53968253 0 00000328 200 0 00000329 181 70008541 bids 0 00000254 2685 36319716 0 0
  • _PFBatchFaultingArray 对象索引:

    2012 06 15 17 53 25 532 BadgerNew 3090 707 Terminating app due to uncaught exception NSRangeException reason PFBatchFaul
  • 两个不同表中任意一个的参考键[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有以下两个表 employees id name address designation salary phone email bu
  • 使用MVC设计模式时如何加载重型模型

    我正在使用 wxPython 和使用 Tensorflow 创建的深度学习模型构建一个应用程序 我使用的设计模式是MVC 我的问题是深度学习模型非常重 需要很长时间才能加载 大约 2 分钟 同时 GUI 会挂起 我创建了一个描述该过程的示例
  • Typescript 中 `typeof x` 的类型是什么?

    在打字稿中 您可以像这样定义一个类 class Sup static member any static log console log sup 如果您执行以下操作 let x Sup 为什么 x 的类型等于typeof Sup 当我在 v
  • 以管理员身份运行与管理员组运行

    我有一个 C 应用程序 需要允许用户更改计算机名称 这是一项相当特权的操作 仅当用户以管理员身份运行应用程序 Windows 7 右键单击可执行文件 以管理员身份运行 时 我才能使其正常工作 很好 但是用户是管理员 那么为什么他们需要运行A
  • NSAttributedString initWithHTML 字符编码不正确?

    NSMutableAttributedString initWithHTML documentAttributes 似乎破坏了特殊字符 NSString html Hello World notice the smart quotes NS
  • C 三元表达式语句不起作用[重复]

    这个问题在这里已经有答案了 include