程序在运行时在输入时崩溃

时间:2012-10-03 05:34:46

标签: c segmentation-fault dynamic-memory-allocation

#include<stdio.h>

int main() {

  int cases,no,**event,i,j;
  scanf("%d",&cases);

  for(;cases>0;cases--) {
     scanf("%d",&no);
     event=(int **)malloc(no*sizeof(int *));
     for(i=0;i<no;i++) {
        event[i]=(int *) malloc(3*sizeof(int));
        for(j=0;j<3;j++) {
              scanf("%d",event[i][j]);
        }             
     }             
  }    

}

我尝试用gdb调试它。它表示分段错误,同时为第二行提供输入。

1 个答案:

答案 0 :(得分:2)

event[i][j]的地址传递给scanf

scanf("%d", &event[i][j]);