Tag: ternary operator

用三元算子初始化结构

为什么三元运算符不能用于初始化结构类型,而它可以用来初始化像int这样的基类型? 示例代码: #include #define ODD 1 int main(int argc, const char *argv[]) { static struct pair_str { int first; int second; } pair = ( ODD ) ? {1,3} : {2,4}; // ERROR printf(“pair %d %d\n”, pair.first, pair.second); int number = (ODD) ? 1 :2; // FINE return 0; } 编译器错误: /home/giuseppe/struct.c: In function ‘main’: […]