c - 当我尝试对 2 个数组使用 scanf 时出现错误

标签 c arrays scanf

我正在尝试使用 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/

相关文章:

javascript - 如何减少 Javascript 中的两个循环以提高效率

c - 如何使 sscanf 读取到 '\0' 字符

c - 为什么我在调用 realloc() 后得到模运算的浮点异常?

c - 字节交换/反转字符数组

javascript - 在node.js中将字符串解析为数组

c - 需要在数组中找到最大、最小、平均数 - 没有声明大小

c - Scanf读取这个字符串 "[[1,7],[1,3],[7,4],[3,5]]"并构造边列表

c - While 循环文本文件意外停止

c - 通过引用修改结构与其他指针之间的区别

有人可以解释一下这些指针参数问题吗?