2
#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でデバッグしてみました。2 番目の行に入力を与えている間、セグメンテーション違反を示します。

4

1 に答える 1

2

のアドレスevent[i][j]を scanfに渡す

scanf("%d", &event[i][j]);
于 2012-10-03T05:37:42.720 に答える