对这段代码进行改错#include <conio.h> #include <stdio.h> #include <stdlib.h> #define N 20 /**********FOUND**********/ void fun( int a, int n ) { int i, j, k, t ; for ( j = 0; j < n-1; j++) { k = j; for ( i = j + 1; i < n ; i++ ) /**********FOUND**********/ if ( a [i] < a[k] ) k = i; t = a[j] ; a[j] = a[k]; a[k] = t; } }
时间: 2023-07-01 08:18:17 浏览: 311
#include "graphics.h" #include "graphics.h"
有两处错误需要进行改正:
1. 第一个错误是参数a应该是一个指针类型,而不是一个整型变量。因为如果传递的是一个整型变量,函数内部无法通过指针访问数组元素。因此需要将参数a修改为int a[]或者int *a。
2. 第二个错误是函数定义时缺少了返回值类型,应该将void fun修改为void。
修改后的代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#define N 20
void fun(int a[], int n) {
int i, j, k, t;
for (j = 0; j < n-1; j++) {
k = j;
for (i = j + 1; i < n; i++) {
if (a[i] < a[k]) {
k = i;
}
}
t = a[j];
a[j] = a[k];
a[k] = t;
}
}
int main() {
int a[N], i;
for (i = 0; i < N; i++) {
a[i] = rand() % 100;
printf("%d ", a[i]);
}
printf("\n");
fun(a, N);
for (i = 0; i < N; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
阅读全文