贴上代码:
//filename: compare.c
#include <stdio.h>
const char x[2][20] = {"I", "you!"};
const char *y = "love";
int main(void)
{
int i;
for (i = 0; i < 3; i++) {
printf("%s ", (i<2) ? !i ? x[i]:y:x[1]);
}
printf("\r\n");
return 0;
}
操作与输出:
wiwa@tech:~/scripts/cfiles$ gcc -o compare compare.c
wiwa@tech:~/scripts/cfiles$ ./compare
I love you!
条件表达的结合方向优先级是: 自右向左的,所以
“(i<2) ? !i ? x[i]:y:x[1]” 《=》 ”(i<2) ? (!i ? x[i]:y): x[1]“
2016。06。22 wiwa