我有一个具有可变行数和两列的二维数组,我应该找到其列中具有最大差异的行。为了说得更清楚:我给了n天的最低和最高温度,我应该找到温度差异最大的那天(如果两天有相同的差异,那么我应该给只有第一个)。但是,我从未使用多维数组,所以我不确定我是否可以这样做:a [i] [1] -a [i] [0]? (a [i]是当天的指数,[1]是当天的最高温度,[0]是最低温度)
我的代码的这部分内容如下:
int difference (int n, float a[maxn][2]) {
float difference=a[0][1]-a[0][0];
int index=0;
for (int i=0; i<n; i++) {
if (a[i][1]-a[i][0]>difference) {
index=i;
a[i][1]-a[i][0]=difference; //HERE I get the error message: lvalue required as left operand of assignment
}
}
return index+1; //to get the day with the largest difference
如果我不把它作为一个赋值,但是我把它的值等于与==的差值,那么它说“语句没有效果”,所以我在想,也许我不被允许做什么我想做。
答案 0 :(得分:4)
difference
成为别的东西。 =
仅适用于您尝试在左侧分配的变量。尝试:
difference = a[i][1] - a[i][0];