c - 程序在运行时在提供输入时崩溃

标签 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 调试它。它在为第二行提供输入时指出段错误。

最佳答案

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

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

关于c - 程序在运行时在提供输入时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12702431/

相关文章:

c - 如何检测 malloc() 函数将失败?

c - 函数中的指针出现 "must be modifiable lvalue"错误

c - 我需要帮助来完成 C 中的嵌套 for 循环以产生特定的输出

c++ - IPC 共享内存与 posix 共享内存

c - C 中的段错误 11 在排序列表中插入节点

c++ - Vector::erase 段错误

c++ - 当内存分配数不总是相同时如何检测内存泄漏?

c - 将 float 32 精确转换为 unsigned Short 或 unsigned char

c - 用换行符替换空格

c++ - 绘制 Sprite 导致 Segmentation Fault