编译提示这么多问题怎么回事
1个回答
2017-04-23 · 互联网+时代高效组织信息化平台
关注
展开全部
编译是有很多警告,帮忙看看什么问题
警告是不影响编译的,是编译器认为存在问题的地方。 你在delay函数中声明了一个名为 rec_buf 的临时变量,但是却没有用它。编译器对此有些犯嘀咕,所以会提醒你一声,怕你是写错了。temp也是如此。
我说你的思路还不清晰,编程需要很清晰的思路。
首先,function(a,N)和int function(int N,int a[N][N])参数不一致,这也是报错的原因。因该是function(N,a),这也是运行错误的原因(Segmentation fault (core dumped))。
其次:for(i=0;i<=N;i++) for(j=0;j<=N;j++)scanf("%d",&a[i][j]);,这里有个错误,定义数组a[N][N],如果N=3;那么a的末尾单元是a[2][2]而不是a[3][3]因为数组是从a[0][0]开始,所以应该是for(i=0;i<N;i++) for(j=0;j<N;j++)scanf("%d",&a[i][j]);在function中取值也一样
最后for(j=0;j<=i;j++)不知道你确定是要这样还是for(j=0;j<N;j++)。
警告是不影响编译的,是编译器认为存在问题的地方。 你在delay函数中声明了一个名为 rec_buf 的临时变量,但是却没有用它。编译器对此有些犯嘀咕,所以会提醒你一声,怕你是写错了。temp也是如此。
我说你的思路还不清晰,编程需要很清晰的思路。
首先,function(a,N)和int function(int N,int a[N][N])参数不一致,这也是报错的原因。因该是function(N,a),这也是运行错误的原因(Segmentation fault (core dumped))。
其次:for(i=0;i<=N;i++) for(j=0;j<=N;j++)scanf("%d",&a[i][j]);,这里有个错误,定义数组a[N][N],如果N=3;那么a的末尾单元是a[2][2]而不是a[3][3]因为数组是从a[0][0]开始,所以应该是for(i=0;i<N;i++) for(j=0;j<N;j++)scanf("%d",&a[i][j]);在function中取值也一样
最后for(j=0;j<=i;j++)不知道你确定是要这样还是for(j=0;j<N;j++)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询