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 并根据需要增加它。