做冒泡法遇到的问题
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:如有其他解释原因还请指正

浙公网安备 33010602011771号