我正在尝试使用 scanf 为 2 个数组赋值,一个用于 x 坐标,另一个用于 y,我为此使用以下代码:
for (i1=1;i1<n;i1++) {
scanf ("%f%f",&(arx[i1], ary[i1]));
}
但是当我执行时出现这个错误:
prog.c: In function ‘main’:
prog.c:11:25: warning: left-hand operand of comma expression has no effect [-Wunused- value]
scanf ("%f%f",&(arx[i1], ary[i1]));
^
prog.c:11:16: error: lvalue required as unary ‘&’ operand
scanf ("%f%f",&(arx[i1], ary[i1]));
所以我不知道我在这里做错了什么,我是 C 的新手
最佳答案
改变
scanf ("%f%f",&(arx[i1], ary[i1])); // Not a valid syntax
到
scanf ("%f%f",&arx[i1], &ary[i1]);
您需要为每个 arx[i1]
和 ary[i1]
应用 &
运算符,否则 ,
in (arx[i1], ary[i1])
将被编译器解释为 comma operator因此它将返回一个 r 值。而且您应该知道,一元 &
的操作数必须是左值。
关于c - 当我尝试对 2 个数组使用 scanf 时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22577578/