cfan2021 发表于 2024-1-16 14:14:56

C语言里的双目运算符?:

不编译运行,大家能否说出下面的小程序的打印结果?

反正,我是做错了,#include<stdio.h>int test(int b){static int c=10;printf("----------------------c=%d--------------\n",c);return b<5?printf("%d--1--\n",++c),printf("%d--2--\n",++c),printf("%d--3--\n",++c): printf("%d--4--\n",++c),printf("%d--5--\n",++c),printf("%d--6--\n",++c);}int main(){printf("%d\n",test(13));printf("%d\n",test(3));return 0;}

urinowiq 发表于 2024-1-16 14:15:28

该用括号的不要吝惜吧。正如i+++i++;

saluozu 发表于 2024-1-16 14:16:06

2# G-Spider

这个例子好像还没有歧义句吧

singqing 发表于 2024-1-16 14:16:37

2# G-Spider
额,我明白了,
的确,问题出在优先级上
多谢!

ugejoleyaz 发表于 2024-1-16 14:17:24

郁闷?:运算后面还必须要括号啊

ugejoleyaz 发表于 2024-1-16 14:17:35

嗯,以前用的比较简单,我也是新近才留意到
页: [1]
查看完整版本: C语言里的双目运算符?: