C语言里的双目运算符?:
不编译运行,大家能否说出下面的小程序的打印结果?反正,我是做错了,:L#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;
}
该用括号的不要吝惜吧。正如i+++i++; 2# G-Spider
:loveliness:
这个例子好像还没有歧义句吧 2# G-Spider
额,我明白了,
的确,问题出在优先级上
多谢! 郁闷?:运算后面还必须要括号啊 嗯,以前用的比较简单,我也是新近才留意到
页:
[1]