lvalue-cond-1.c

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 33 行

C
33
字号
/* APPLE LOCAL file non lvalue assign *//* Allow assignments to conditional expressions, as long as the second and third   operands are already lvalues.  *//* NB: It turns out that C++ (unlike C) already allows these as lvalues, and so   no warnings whatsoever will be produced.  *//* Author: Ziemowit Laski <zlaski@apple.com> *//* { dg-options "-fnon-lvalue-assign" } *//* { dg-do run } */#include <stdlib.h>int g1 = 3, g2 = 5;void assign_val1 (int which, int value) {  (which ? g1 : g2) = value;  /* { dg-bogus "target of assignment not really an lvalue" } */}void assign_val2 (int which) {  (which ? g1 : g2)++;  /* { dg-bogus "target of assignment not really an lvalue" } */}int main(void) {   assign_val1 (0, 15);   if (g1 != 3 || g2 != 15)     abort ();   assign_val2 (1);   if (g1 != 4 || g2 != 15)     abort ();   return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?