error: expected expression before ‘=’ token
error: expected expression before ‘=’ token
这是我遇到的错误:
c:17:15: error: expected expression before ‘=’ token
suma + = mat[N][M];
这是我的代码:
#include<stdio.h>
#define N 3
#define M 3
int mat[N][M]i,j,k,l,m,n;
int vector[N];
int suma;
int main (void){
for(i=0;i<N;i++){
for(j=0;j<M;j++){
printf("Enter a number: ");
scanf("%d", &mat[N][M]);
}
}
for(k=0;k<N;k++){
suma=0;
for(l=0;l<M;l++){
**suma+ = mat[N][M];
}
vector[i]=suma;
}
return 0;
}
+= != + =
意思:只写:suma += mat[N][M];
...................................................^ 否 space.
为了完整起见,我将添加 Sourav 提到的内容:
您需要在第一个 for
循环后重置 i
(i=0
),以避免访问越界内存并导致未定义的行为。
为了回答编译器问题,+=
和 + =
不是一回事。您应该使用 +=
而中间没有 space。
我认为 **suma
是您代码中的 拼写错误 。 (或错过格式化尝试)。
就是说,您的程序调用了 undefined behavior。在后面的循环中,
vector[i]=suma;
您没有重置 i
。它将尝试访问超出限制的内存。
您需要使用 k
作为索引,或者重置 i
并根据需要增加它。
这是我遇到的错误:
c:17:15: error: expected expression before ‘=’ token
suma + = mat[N][M];
这是我的代码:
#include<stdio.h>
#define N 3
#define M 3
int mat[N][M]i,j,k,l,m,n;
int vector[N];
int suma;
int main (void){
for(i=0;i<N;i++){
for(j=0;j<M;j++){
printf("Enter a number: ");
scanf("%d", &mat[N][M]);
}
}
for(k=0;k<N;k++){
suma=0;
for(l=0;l<M;l++){
**suma+ = mat[N][M];
}
vector[i]=suma;
}
return 0;
}
+= != + =
意思:只写:suma += mat[N][M];
...................................................^ 否 space.
为了完整起见,我将添加 Sourav 提到的内容:
您需要在第一个 for
循环后重置 i
(i=0
),以避免访问越界内存并导致未定义的行为。
为了回答编译器问题,+=
和 + =
不是一回事。您应该使用 +=
而中间没有 space。
我认为 **suma
是您代码中的 拼写错误 。 (或错过格式化尝试)。
就是说,您的程序调用了 undefined behavior。在后面的循环中,
vector[i]=suma;
您没有重置 i
。它将尝试访问超出限制的内存。
您需要使用 k
作为索引,或者重置 i
并根据需要增加它。