C 语言的三目运算的最后一个表达式,不加括号会出错
这个问题遇到很多次了,一值没彻底弄明白为什么三目运算符的第三个表达式不加刮号会出错??
程序代码:
#include <stdio.h> void larger_of(double *, double *); int main(void) { double x, y; printf("请输入要求比较的两个数:"); scanf("%lf%lf", &x, &y); larger_of(&x, &y); printf("x = %.4lf\n", x); printf("y = %.4lf\n", y); return 0; } void larger_of(double *x, double *y) { //*x > *y ? *x = *y : *y = *x; //为什么注释部分会有错?error:表达式必须是可修改的左值 *x > *y ? *x = *y : (*y = *x); }