刚刚学习了C语言的数组,发现一道挺有意思的题目,编了个小代码。
代码
#include<stdio.h>
#include<string.h>
int main()
{
char string[30];//用来存放数组最大值
char ch[3][30];//ch[0]、ch[1]、ch[2]都是一个字符数组,相当于3个字符串
int i;
for(i=0;i<3;i++)//循环读取三次,输入3个字符串存到ch[0]、ch[1]、ch[2]中
{
gets(ch[i]);
}
strcpy(string,ch[0]);//将ch[0]复制到string,作为最小的字符串
for(i=1;i<3;i++)
{
if(strcmp(ch[i],string)<0)//当ch[i]<string时,strcmp函数将返回一个负整数
{
strcpy(string,ch[i]);//当ch[i]比string小时,ch[i]会被复制到string,string值改变
}
}
printf("\n最小的字符串是:%s",string)
return 0;
}
结果
注意
关于strcmp——字符串比较函数
strcmp(字符串 1,字符串 2)
- 字符串 1=字符串 2,则函数值为 0
- 字符串 1>字符串 2,则函数值为一个正整数
- 字符串 1<字符串 2,则函数值为一个负整数