编程改错,C++

来源:百度知道 编辑:UC知道 时间:2024/05/03 08:44:24
#include<iostream.h>
#include<string.h>
void main( )
{
char *a[5]={"student","worker","cadre","soldier","peasant"};
char *p1,*p2;
p1=p2=a[0];
for (int i=0; i<5;i++)
{
if(strcmp(*a[i],*p1)>0) p1=a;
if(strcmp(*a[i],*p1)<0) p2=a;
}
cout<<p1<<' '<<p2<<endl;
}

C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\3.15.cpp(10) : error C2664: 'strcmp' : cannot convert parameter 1 from 'char' to 'const char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\3.15.cpp(10) : error C2440: '=' : cannot convert from 'char *[5]' to 'char *'
Types pointed to are unrelated; co

#include<iostream.h>
#include<string.h>
void main( )
{
char *a[5]={"student","worker","cadre","soldier","peasant"};
char *p1,*p2;
p1=p2=a[0];
for (int i=0; i<5;i++)
{
if(strcmp(a[i],p1)>0) p1=a[i];
if(strcmp(a[i],p1)<0) p2=a[i];
}
cout<<p1<<' '<<p2<<endl;
}
输出 worker peasant
ps 你要说明一下想要实现什么样的输出?