1,fun函數中的兩個for循環控制變量有問題,應將其更改為以下形式:
for(I = 0;我& lt2;i++)
for(j = 0;j & ltm;j++)
{
if(a【I】【j】》;最大)
max = a【I】【j】;
}
2.輸出時也有問題。fun函數的返回值是int,所以應該是:
printf(“\ n函數的值為:%d\n“,fun(arr));
擴展數據:
運行時誤差誤差分析
1、緩沖區溢出
緩沖區溢出,緩沖區溢出壹般意味著您的程序中的數組很小,從而導致越界訪問,例如定義int a【100】。
此時,如果您引用壹個【1000】,很可能會出現運行時錯誤。“緩沖區”通常指程序中定義的數組。這個連續的內存空間用於存儲壹些要處理的數據。
值得壹提的是,即使是成熟的程序員也可能會不小心忽略緩沖區溢出漏洞,從而造成巨大損失。因此,現在編寫代碼時,我們必須仔細考慮並考慮每個值的範圍,以防止其越界。緩沖區溢出漏洞存在的主要原因之壹是C語言不檢查數組下標的邊界。
2.堆棧溢出堆棧溢出。
堆棧通常用於維護操作系統中函數的調用。在C語言中,當調用壹個函數時,它將依賴於“堆棧”數據結構的內存。