用数组名作参数
代码:
/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作者:樊露露
* 完成日期:2012 年12月20日
* 版本号:v1.0
*
* 输入描述:无
* 问题描述:用数组名作参数比较两个字符串
* 程序输出:比较后的结果
* 问题分析:
* 算法设计:略
*/
#include<iostream>
using namespace std;
int astrcmp(const char str1[],const char str2[]);
int main(){
char str1[50],str2[50];
int i;
cout<<"请输入第一个字符串str1:";
cin>>str1;
cout<<"请输入第二个字符串str2:";
cin>>str2;
i=astrcmp(str1,str2);
if(i==0)
cout<<"两个字符串相等。"<<endl;
if(i<0)
cout<<"str1大于str2."<<endl;
if(i>0)
cout<<"str2大于str1."<<endl;
return 0;
}
int astrcmp(const char str1[],const char str2[]){
int m,i=0;
for(m=0;str1[m]==str2[m]&&str1[m]!='\0';m++)//从两个字符串不相等的时候开始判断。
i++;
if(str1[i]>str2[i])
return 1;
if(str1[i]<str2[i])
return -1;
if(str1[i]==str2[i])
return 0;
}
结果:
用指针作参数
代码:
/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作者:樊露露
* 完成日期:2012 年12月20日
* 版本号:v1.0
*
* 输入描述:无
* 问题描述:用指针参数比较两个字符串
* 程序输出:比较后的结果
* 问题分析:
* 算法设计:略
*/
#include<iostream>
using namespace std;
int pstrcmp(const char *str1,const char *str2);
int main(){
int i;
char str1[50],str2[50];
cout<<"请输入str1:";
cin>>str1;
cout<<"请输入str2:";
cin>>str2;
i=pstrcmp(str1,str2);
if(i>0)
cout<<"str1大于str2"<<endl;
if(i<0)
cout<<"str1小于str2"<<endl;
if(i=0)
cout<<"str1等于str2"<<endl;
return 0;
}
int pstrcmp(const char *str1,const char *str2){
int m,n=0;
for(m=0;str1[m]==str2[m]&&str1[m]!='\0';m++)
n++;
if(str1[n]==str2[n])
return 0;
if(str1[n]<str2[n])
return 1;
if(str1[n]>str2[n])
return -1;
}
结果:
心得体会:
用指针作参数时输出的结果怎么与用数组名作参数的相反,求解释!!!!!!!!!!!!!!!!!!!