是你编译器的事情 我用VC 试试下面这个吧
程序代码:
#include<stdio.h>
#include<string.h>
void main()
{
char s1[15],s2[15],s3[15],s[5]=\"same\";
char *p=s;
printf(\"please input 3 string:\n\");
gets(s1);
gets(s2);
gets(s3);
p=strlen(s1)>strlen(s2)?
(strlen(s1)>strlen(s3)?//true
s1:(strlen(s1)==strlen(s3)?
s:s3))
:(strlen(s2)>strlen(s3)?//flase
s2:(strlen(s2)==strlen(s3)?
s:s3));
if(p==s)
{
for(int i=0;i<strlen(p);)
{
if(s1[i]>s2[i])
{if(s1[i]>s3[i]) {printf(\"max string is %s\n\",s1);break;}
else if(s1[i]==s3[i]) i++;
else if(s1[i]<s3[i]) {printf(\"max string is %s\n\",s3);break;}
}
else if(s1[i]==s2[i]) i++;
else if(s2[i]>s3[i]) {printf(\"max string is %s\n\",s2);break;}
else if(s2[i]==s3[i]) i++;
}
}
printf(\"max string is %s\n\",s1);
}
[此贴子已经被作者于2006-11-29 19:57:51编辑过]
----------------解决方案--------------------------------------------------------
直接用strcmp函数判断就可以了.
----------------解决方案--------------------------------------------------------