问下条件表达式和赋值表达式
程序代码:
#include <stdio.h> int main() { int a, b, c, d; //d = a=1?b=2:c=3; //编译器报错 printf("a = %d b = %d c = %d d= %d\n", a, b, c, d); d = a=1?b=2:(c=3); printf("a = %d b = %d c = %d d= %d\n", a, b, c, d); d = a=1?(b=2):(c=3); printf("a = %d b = %d c = %d d= %d\n", a, b, c, d); d = (a=1)?(b=2):(c=3); printf("a = %d b = %d c = %d d= %d\n", a, b, c, d); return 0; }
只有 d = (a=1)?(b=2):(c=3); 才是想要的结果
知道 条件表达式的优先级高于赋值表达式 还理解不了
求指教