C语言机考题目分析
/*
书写两个函数,实现strlen(),strcmp()函数的功能。
*/
#include <stdio.h>
/*
定义一个lenth函数,实现strlen函数的功能。
*/
void lenth(char str1[])
{
int i = 0;
printf("请输入一个字符串:");
scanf("%s",str1);
while(str1[i] != 0)
{
i++;
}
printf("该字符串的长度为:%d\n",i);
}
/*
定义一个cmp函数,实现strcmp函数功能。
*/
int cmp(char str1[],char str2[])
{
int i = 0;
printf("\n");
printf("请输入两个字符串:\n");
scanf("%s",str1);
scanf("%s",str2);
/*
先比较字符大小。用1表示大于,0表示等于,-1表示小于。
*/
while(str1[i] != 0 && str2[i] != 0)
{
if(str1[i] == str2[i])
{
i++;
}
else if(str1[i] > str2[i])
{
return 1;
}
else
{
return -1;
}
}
/*
若字符大小没有比出来,则再比较长度大小。
*/
if(str1[i] == 0 || str2[i] == 0)
{
if(str1[i] > str2[i])
{
return 1;
}
else if(str1[i] < str2[i] )
{
return -1;
}
else
{
return 0;
}
}
}
/*
主函数
*/
void main()
{
int flag;
/*
定义两个字符数组,用来存放两个字符串。
*/
char str1[100];
char str2[100];
lenth(str1); //调用lenth函数。
flag = cmp(str1,str2); //调用cmp函数。
printf("两个字符串比较的结果为:%d\n",flag); //输出比较后的结果。
}
其结果为: