runtime error怎么解决(c语言编程runtime error怎么解决)
c语言编程runtime error怎么解决?
网友:疯孩纸 提问
#define M 4#include”stdio.h”int fun(int a[][M]){int i,j,max;max=a[0][0];for(i=0;i<=2;i++)for(j=1;j<=M;j++){if(a[i][j]>max)max=a[i][j];}
return max;
}void main(){int arr[2][M]={5,8,3,45,76,-4,12,2};printf(“\nThe value of function is:%lf\n”,fun(arr));}这有什么问题啊,请大虾指教~~~好的话可以追加到50分
五星知识达人网友:野味小生 解答于 2022-06-04 22:33
LZ你有两个地方有问题:(1)fun函数里面两个for循环控制变量有问题,应改为下面这种形式:for(i=0;i<2;i++)for(j=0;jmax)max=a[i][j];}(2)输出的时候也有问题,fun函数返回值是int,所以应该是:printf(“\nThe value of function is:%d\n”,fun(arr));
1楼网友:舊物识亽 解答于 2022-04-04 23:26
看你的意思是求最大值吧,我理解的是先对一个数组赋值,然后给出一个区间,得到这个区间的最大值。如果是这样的话,你的程序多了好多循环~~if(a[i]<=a[i+1])max=a[i+1];elsemax=a[i]; 这一块是有问题的 else 后面 max应该保持不变吧?为什么要等于 a[i]呢,你想想。然后捋一下流程for(xxx){对数组赋值}get区间下标,i,jfor(在区间,i,j循环){你出错的那段代码}输出max这样就可以了吧
2楼网友:有你哪都是故乡 解答于 2022-04-04 22:40
runtime error(运行时错误)就是程序运行到一半,程序就崩溃了。根据经验,大多数情况是因为程序员对内存的理解不透彻导致错误应用引起的,简单的说几个常见的:①除以零的情况,比如1/0此类的。②数组越界:int a[3]; 但程序中的要求却至少是一个为100的数组。③指针越界:int * p; p=(int *)malloc(5 * sizeof(int)); *(p+1000000)=10;④使用已经释放的空间:int * p; p=(int *)malloc(5 * sizeof(int));free(p); *p=10;⑤数组开得太大,超出了栈的范围,造成栈溢出:int a[100000000];Runtime error。
本文地址:https://www.cubemovie.cn/hetong/100202.html