求大神详细解答,这两个差不多的程序,但其结果到底为什么不同
1:#include"stdio.h"
strcomp(char s[],char t[])
{
int i;
for(i=0;s[i]&&t[i]&&s[i]==t[i];i++)
{
if(s[i]>t[i])return 1;
else if(s[i]<t[i])return -1;
return 0;
}
}
main()
{
int i,n='a';
char str[4][10],min[10];
printf("请输入4个字符串:\n");
for(i=0;i<4;i++)
{
gets(str[i]);
}
for(i=0,n='a';i<4;i++,n++)
{
printf("你输入第%c个字符串为:\n",n);
puts(str[i]);
}
strcpy(min,str[0]);
for(i=1;i<4;i++)
{
if(strcomp(min,str[i])>=0)
strcpy(min,str[i]);
}
printf("最小的字符串为:%s\n",min);
}
2:
#include"stdio.h"
int strcomp(char s[],char t[])
{
int i;
for(i=0;s[i]&&t[i]&&s[i]==t[i];i++);
{
if(s[i]>t[i]) return 1;
else if(s[i]<t[i]) return -1;
return 0;
}
}
void main()
{
char a[4][80];
int i,min;
printf("输入4组字符串:\n");
for(i=0;i<4;i++)
gets(a[i]);
min=0;
for(i=1;i<4;i++)
{
if(strcomp(a[min],a[i])==1)
min=i;
}
printf("最小字符串为:");
puts(a[min]);
}
[ 本帖最后由 lvnian 于 2013-11-27 00:11 编辑 ]