用数组名做形参
问题及代码
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:辛彬
* 完成日期:2014年 12 月 14 日
* 版 本 号:v1.0
*
* 问题描述: 比较两个字符串(用数组名作形参)。
* 输入描述:没有输入。
* 程序输出:比较后的数组;
*/
#include <iostream>
using namespace std;
int *stremp(const char str1[],const char str2[]);
int main()
{
char s1[50]="China";
char s2[50]="America";
if(stremp(s1,s2)>0)
cout<<s1<<">"<<s2;
else
cout<<s1<<"<"<<s2;
return 0;
}
int *stremp(const char str1[],const char str2[])
{
int m,i;
int *p;
p=&m;
for(i=0; str1[i]!='\0'||str2[i]!='\0'; i++)
{
if(str1[i]>str2[i])
{
m=1;
break;
}
if(str1[i]<str2[i])
{
m=-1;
break;
}
}
return p;
}
运行结果:
用指针作形参
问题及代码
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:辛彬
* 完成日期:2014年 12 月 14 日
* 版 本 号:v1.0
*
* 问题描述: 比较两个字符串(用指针作形参)。
* 输入描述:没有输入。
* 程序输出:比较后的数组;
*/
#include <iostream>
using namespace std;
int *stremp(const char *str1,const char *str2);
int main()
{
char s1[50]="China";
char s2[50]="America";
if(stremp(s1,s2)>0)
cout<<s1<<">"<<s2;
else
cout<<s1<<"<"<<s2;
return 0;
}
int *stremp(const char *str1,const char *str2)
{
int m,i;
int *p;
p=&m;
for(i=0; *(str1+i)!='\0'||*(str2+i)!='\0'; i++)
{
if(*(str1+i)>*(str2+i))
{
m=1;
break;
}
if(*(str1+i)<*(str2+i))
{
m=-1;
break;
}
}
return p;
}
可能有错误,希望有大神指正