函数c调用错误(可能是二维数组问题?)


#include<stdio.h>
long long a[1000000][1000000]={0};
long long c(long long b[][1000000],long long x,long long v,long long o,long long h){
    for(long long i=x;i<v;i++){
        for(long long m=0;m<v;m++){
        if(b[i][m]==1){
            if(h>o)o=h;
            for(long long t=0;t<v;t++){
                if(b[i][t]!=1&&b[m][t]!=1){
                    b[i][t]=0;
                    b[m][t]=0;
                }
            }
             c(b[][1000000],m,v,o,h+1);
        }
        }
    }
    return o;
}
int main(){
    long long n;
    scanf("%d",&n);
    long long b[n][2];
    for(long long i=0;i<n;i++){
        scanf("%d %d",&b[i][0],b[i][1]);
    }
    for(long long i=0;i<n;i++){
        for(long long m=0;m<n;m++){
            if(b[m][1]<=b[i][0]||b[m][0]>=b[i][1])a[i][m]=1;
        }
    }
    long long o=0;
    long long h=1;
    long long f=long long c(a,0,n,o,h);
    printf("%lld",f);
    return 0;
    
}

img


开头所写函数编译器一直在函数运行调用自身的时候报错为什么呀?

main函数里:
c(b[][1000000],m,v,o,h+1);这里,改成 c(b,m,v,o,h+1);
long long f= long long c(a,0,n,o,h); 改成 long long f= c(a,0,n,o,h);
c函数里,递归调用的时候,c(b,m,v,o,h+1)这里没有返回值,应该是 return c(b,m,v,o,h+1);

下面有2个参考代码:
(1)

(2)

C语言今年暑假不AC&&凌乱的yyy / 线段覆盖(贪心算法) 目录 今年暑假不AC AC 1 凌乱的yyy / 线段覆盖 yyy 81 今年暑假不AC “今年暑假不AC?” “是的。” “那你干什么呢?” “看世界杯呀,笨蛋 ” “@/ $%^ / %…” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。 作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫的《开心辞典》等等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?(目标是能看尽量多的完整节目) Input 输入数据包含多个测试实例,每个测试实例的第一行只有一个整数 n n =100 ,表示你喜欢看的节目的总数,然后是n行数据,每行包括两个数据Ti s,Ti e 1 =i =n ,分别表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。n=0表示输入结束,不做处理。 Output 对于每个测试实例,输出能完整看到的电视节目的个数,每个测试实例的输出占一行。 Sample Input 12 1 3 3 4 0 7 3 8 https://copyfuture.com/blogs-details/202112111804042445

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632