你的函数没有必要有返回值 void 就好。如果你要返回整形,那应该 return 0。NULL 会被认为是空指针
不是很完整,不过绝对是透过指针修改的
你原本的等等#include <stdio.h>
void swap(int *x, int *y)
{
int t = *x;
*x = *y;
*y = t;
}
void arrange(int arr[], int index_min, int index_max)
{
if(index_min != 0)
swap(&arr[0], &arr[index_min]);
if(index_max != 9)
swap(&arr[9], &arr[index_max]);
}
int main()
{
int number[10];
int max = -65535, min = 65535;
int index_max, index_min;
printf("Please enter ten numbers:\n");
for (int i = 0; i < 10; i++)
{
printf("%d: ", i + 1);
scanf("%d", &number[i]);
if(number[i] > max)
{
max = number[i];
index_max = i;
}
if(number[i] < max)
{
min = number[i];
index_min = i;
}
}
arrange(number,index_min, index_max);
for (int i = 0; i < 10; i++)
{
printf("%d ", number[i]);
}
printf("\n");
return 0;
}
|