数组作为函数传参的问题
void Bubble_sort(int* p,int num){
int i = 0;
int tem = 0;
int num1=num;
int j = 0;
for (j = 0; j < num; j++)
{
for (i = 0; i < num1; i++)
{
if (*(p+i) > *(p +i+ 1))
{
tem= *(p + i);
*(p + i) = *(p + i + 1);
*(p + i + 1)=tem;
}
}
num1--;
}
}
int num = 0;
int main()
{
int arr[] = { 9,8,7,6,5,4,3,2,1,0 };
num = sizeof(arr) / sizeof(arr[1]);
Bubble_sort(arr,num);
int i = 0;
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
为什么编译时会出现变量周围的堆栈已损坏?
void Bubble_sort(int* p,int num)是定义一个指针去接收,还是直接void Bubble_sort(int arr[],int num)就行了呢?为什么?