含有指针的函数调用错误
程序代码:
#include <stdio.h> int max(int a[], int n, int *p); //声明max函数的找最大值和下标的 int min(int a[], int n, int *p); //声明min函数的找最大值和下标的 int main() { int a[10] = {3, 8, 6, 9, 1, 2, 3, 5, 4, 7}; int max, min; max(a, 10, &max); //错误 min(a, 10, &min); //错误 return 0; } int max(int a[], int n, int *p) { int index, count; *p = a[0]; for (n = 0; n < 10; n++) { if (a[n] > *p) { *p = a[n]; index = n; } else if (max == a[n]) { count++; } } } int min(int a[], int n, int *p) { int index, count; *p = a[0]; for (n = 0; n < 10; n++) { if (a[n] < *p) { *p = a[n]; index = n; } else if (min == a[n]) { count++; } } }
在调用函数的时候显示
明显调用的表达式前的括号必须具有(指针)函数类型