检查#include <iostream.h> int max1( int a[ ],int n) //形参为数组名 { int i,max=a[0]; for (i=1;i<n;i++) if (a[i]>max) max=a[i]; return max; } int max2( int *p,int n) //形参为指针 { int i,max=*(p+0); for (i=1;i<n;i++) if (*(p+i)>max) max=*(p+i); return max; } int max3( int a[ ],int n) //形参为数组名 { int i,max=*(a+0); for (i=1;i<n;i++) if (*(a+i)>max) max=*(a+i); return max; } int max4(int *p,int n) //形参为指针 { int i,max=p[0]; for (i=1;i<n;i++) if (p[i]>max) max=p[i]; return max; } void main( void) { int b[ ]={1,3,2,5,4,6},*pi; cout<<"max1="<<max1(b,6)<<endl; //实参为数组名,形参为数组 cout<<"max2="<<max2(b,6)<<endl; //实参为数组名,形参为指针变量 pi=b; cout<<"max3="<<max3(pi,6)<<endl; //实参为指针变量,形参为数组 pi=b; cout<<"max4="<<max4(pi,6)<<endl; //实参为指针变量,形参指针变量 }
时间: 2024-01-20 08:03:29 浏览: 23
这段代码存在两个问题。首先,`iostream.h` 库不是标准 C++ 库的头文件,应该改为 `#include <iostream>`。其次,`main` 函数的返回类型应该是 `int` 类型而不是 `void` 类型。因此,正确的代码应该是:
```
#include <iostream>
using namespace std;
int max1(int a[], int n) {
int i, max = a[0];
for (i = 1; i < n; i++)
if (a[i] > max)
max = a[i];
return max;
}
int max2(int *p, int n) {
int i, max = *(p + 0);
for (i = 1; i < n; i++)
if (*(p + i) > max)
max = *(p + i);
return max;
}
int max3(int a[], int n) {
int i, max = *(a + 0);
for (i = 1; i < n; i++)
if (*(a + i) > max)
max = *(a + i);
return max;
}
int max4(int *p, int n) {
int i, max = p[0];
for (i = 1; i < n; i++)
if (p[i] > max)
max = p[i];
return max;
}
int main() {
int b[] = {1, 3, 2, 5, 4, 6}, *pi;
cout << "max1=" << max1(b, 6) << endl; //实参为数组名,形参为数组
cout << "max2=" << max2(b, 6) << endl; //实参为数组名,形参为指针变量
pi = b;
cout << "max3=" << max3(pi, 6) << endl; //实参为指针变量,形参为数组
pi = b;
cout << "max4=" << max4(pi, 6) << endl; //实参为指针变量,形参指针变量
return 0;
}
```
这样修改后,代码就符合 C++ 标准了。