这个:编写一个子函数,通过定义全局变量,查找3×3方阵的最大值和最小值,在man函数中输出。
请问这个怎么编呀?
#include <stdio.h>
int max, min;
int matrix[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
void find_max_min() {
max = matrix[0][0];
min = matrix[0][0];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (matrix[i][j] > max) {
max = matrix[i][j];
}
if (matrix[i][j] < min) {
min = matrix[i][j];
}
}
}
}
int main() {
find_max_min();
printf("max = %d\nmin = %d\n", max, min);
return 0;
}
在子函数中,遍历3x3方阵,查找最大值和最小值,并用全局变量max和min存储结果。在主函数中调用子函数,并输出结果。
需要注意的是,全局变量的使用应该谨慎,因为全局变量可能被多个函数同时访问,容易引起意外问题。在这个例子中,由于方阵的大小是固定的,因此全局变量的使用是安全的。如果方阵的大小是可变的,那么就不能使用全局变量,应该将方阵作为函数参数传递。