我正在使用C中的一个小冒泡排序程序.我正在使用交换函数和指针来完成我的任务,我的程序运行正常.但是,我有一个问题.我的程序返回0(不在数组中)并且不返回9.我很困惑.
我的阵列是: int values[] = {7, 3, 9, 4, 6, 1, 2, 8, 5};
我的两个职能是:
void sort(){
int i;
int j;
for(i = 0; i < (sizeof(values)/sizeof(values[0])); i++)
{
for(j = 0; j < (sizeof(values)/sizeof(values[0])); j++)
{
if(values[j] > values[j + 1]){
swap(&values[j], &values[j + 1]);
}
}
}
}// end sort
void swap(int* i, int* j){
int x = *i;
*i = *j;
*j = x;
}//end swap
Run Code Online (Sandbox Code Playgroud)
最后,在运行我的程序后,我得到:
Before:
7 3 9 4 6 1 2 8 5 …Run Code Online (Sandbox Code Playgroud)