#include "stdio.h" void main() { char string[20]; char str1[20]; char str2[20]; char str3[20];

scanf("%s,%s,%s",str1,str2,str3);
if(strcmp(str1,str2)>0)
strcpy(string,str1);

else
strcpy(string,str2);
if(strcmp(string<str3))
strcpy(string,str3);
printf("\nThe largest string is:\n%s\n",string);
}请问哪里出错了 希望高手详细指点

strcmp函数:比较字符串s1和s2的大小。 说明: 当s1<s2时,返回值<0 当s1=s2时,返回值=0 当s1>s2时,返回值>0 ,即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如: "A"<"B" "a">"A" "computer">"compare" 特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。 原型:extern int strcmp(const char *s1,const char * s2);
所以此函数比较的结果不一定是得到最长的字符串。
还有如果要使用该函数就必须包含头文件: #include <string.h>。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-24
在第一行加一句:#include <string.h>
第2个回答  2011-07-25
scanf("%s,%s,%s",str1,str2,str3);
改成
scanf("%s%s%s",str1,str2,str3);
相似回答