做冒泡法遇到的问题

1;以下是出现错误的代码

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

void bubble_sort(int arr[],int sz)
{ int i=0;


for(i=0;i<sz-1;i++)

{int j=0;


for(j=0;j<sz-1-i;j++)
{if (arr[j]>arr[j+1])

{ int a=0;
a=arr[j];
arr[j]=arr[j+1];
arr[j+1]=a;
}

}
}
}
int main()
{
int arr[]={1,8,7,6,5,4,3,2,1,10};
int sz=sizeof(arr)/sizeof(arr[0]);
bubble_sort(arr,sz);
int i=0;
for(i=0; i<sz; i++)
{ printf("%d",arr[i]);

}
return 0;
}

2;

错误提示

 

报出在main()中i,之前缺少;。并且i未被声明。

3;改正方法,将main()函数里定义的i放在bubble的前面。

4;分析原因:c语言规定标量是要在函数开始之前就要声明好,所以将main()函数里定义的i放在bubble的前面。

5:如有其他解释原因还请指正

 

posted @ 2022-04-24 22:55  风花月下  阅读(72)  评论(0)    收藏  举报