我再次開始編碼,但我在FreeBSD 11發行版中運行此代碼時感到磕磕絆絆。該代碼崩潰與分段錯誤錯誤。調用main之前的簡單C++程序崩潰
#include <iostream>
int is_array_sorted(int a[], int n)
{
if(n==2 || n==1)
return 1;
else if(a[n-1]<a[n-2])
return 0;
is_array_sorted(a,n-1);
}
int main()
{
int a[] = {1,2,3,4} ;
int ret = is_array_sorted(a,4);
std::cout<<"sorted ->"<< ret <<std::endl;
return 0;
}
所以,我建立這個使用
c++ file.cpp --std=c++14 -g3
RAN和墜毀。
此外,我想通過在主符號處設置斷點來使用gdb進行調試。然而,它崩潰即使再給予「計劃與信號SIGKILL,非法指令終止。 程序不再存在。
請搞清楚我到底做錯了幫幫忙?
'is_array_sorted'中的最後一個語句不會返回任何內容 - >未定義的行爲。 – user657267