c primer plus 6th 第10章第10题f
为啥这个错误的理由是不能用数组进行赋值,这个rootbeer不是数组名么
float rootbeer[10], things[10][5], * pf, value = 2.2;
int i = 3;
a.rootbeer[2] = value; 有效
b.scanf("%f", &rootbeer); 无效
c.rootbeer = value; 无效
d.printf("%f", rootbeer); 无效
e.things[4][4] = rootbeer[3]; 有效
f.things[5] = rootbeer; 无效 不能用数组赋值
g.pf = value; 无效
h.pf = rootbeer; 有效
f:左边的things[5]代表的是一个数组,右边的rootbeer被编译器“临时的”代表第一个元素的常量指针,但是数组不是一个标量,不可以放在赋值运算符=的左侧。如果要求给数组赋值,建议用指针。