将若干字符串的按字母大小输出
#include<iostream>#include< string>
using namespace std;
int main()
{ void cmp (char (*name)[],int n );
void print (char (*name)[],int n );
char name[5][30];
int i ;
for(i=0;i<5;i++ )
{cout<<"input"<<i+1;
cin>>name[i];
}
cmp(name ,5 );
print(name,5 );
void cmp (char (* name)[30],int n )
{ char *temp;
int i,j,k;
for( i=0;i<n-1;i++ )
{k=i;
for(j=i+1;j<n-1;j++)
if((strcmp(name[k],name[j]))>0 )
k=j;
if(k!=i)
{temp = name[i] ; name[i]=name[k];name[k]=temp; }
}
}
void print(char (* name)[30],int n )
{ int i;
for(i=0; i<n;i++ )
cout<<name[i]<<endl;
}
1>------ 已启动生成: 项目: job, 配置: Debug Win32 ------
1>正在编译...
1>22.cpp
1>d:\我的文档\visual studio 2005\projects\job\job\22.cpp(24) : error C2664: “cmp”: 不能将参数 1 从“char [5][30]”转换为“char (*)[]”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\我的文档\visual studio 2005\projects\job\job\22.cpp(25) : error C2664: “print”: 不能将参数 1 从“char [5][30]”转换为“char (*)[]”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\我的文档\visual studio 2005\projects\job\job\22.cpp(45) : error C2106: “=”: 左操作数必须为左值
1>d:\我的文档\visual studio 2005\projects\job\job\22.cpp(45) : error C2440: “=”: 无法从“char *”转换为“char [30]”
1> 没有转换为数组类型,但有转换为数组的引用或指针