Improving! 2022-02-25 11:23 采纳率: 100%
浏览 22
已结题

关于#段错误#的问题,如何解决?(语言-c语言)

做pta题目1013 Battle Over Cities (25 分)的代码出现段错误

https://pintia.cn/problem-sets/994805342720868352/problems/994805500414115840
代码为什么出现段错误

#include <stdio.h>
#include <string.h>
int vis[1005],n,m,k;
int a[1005][1005];
void DFS(int v){
    //if(v==delet) return;
    vis[v]=1;
     for(int i=1;i<=n;i++)
     {
         if(a[v][i]==1&&vis[i]==0){
             DFS(v);
         }
     }
}
int main()
{
    scanf("%d %d %d",&n,&m,&k);
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            a[i][j]=-1;
        }
    }
    for(int i=0;i<m;i++){
        int x,y;
        scanf("%d %d",&x,&y);
        a[x][y]=1;
        a[y][x]=1;
    }
    while(k--){
        int delet;
        scanf("%d",&delet);
        int block=0;
        //vis[delet]=1;
    memset(vis,0,sizeof(vis));
    for(int i=1;i<=n;i++){
        if(vis[i]==0){
            DFS(i);
            block++;
        }
    }
    printf("%d\n",block-1);
    }
    return 0;
}

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-02-25 12:42
    关注

    第11行:DFS(i); //DFS(v);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月5日
  • 已采纳回答 2月25日
  • 创建了问题 2月25日

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料