输入5个字符串,输出其中最长的字符串。

#include <string.h>
#include <stdio.h>
int main()
{
int i;
char sx[80], max[80];
scanf("%s", max);
for(i=1;i<5;i++)
scanf("%s", &sx);
if(strcmp(max,sx)<0)
strcpy(max,sx);
}
printf("max is: %s\n",max);
return 0;
}
为啥错了?

#include<stdio.h>

#include<string.h>

int main()

int i=0;

char s[80]={""},max[80]={""};

printf("输入五个字符串:\n");

scanf("%s",s);

strcpy(max,s);

for(i=1;i<5;i++)

scanf("%s",s);

if(strcmp(max,s)<0)

strcpy(max,s);

printf("最长的字符串是:%s\n",max);

return0;

运行例:

扩展资料:

用法:int scanf(char*format,[argument,...]);

scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘)读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。

其调用格式为:scanf(“&lt;格式化字符串&gt;”,&lt;地址表&gt;);

scanf()函数返回成功赋值的数据项数,出错时则返回EOF;

其控制串由三类字符构成:

1、格式化说明符

2、空白符

3、非空白符

格式化说明符

附加格式说明字符表:

空白字符

空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符,空白符可以是space,tab,newline等等,直到第一个非空白符出现为止。

非空白字符

一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-05-15
strcmp函数不是比较两个字符串的长度大小 而是比较两个字符串中对应字符,直到第一个不同的字符中的ASCII码的大小,比较字符串长度用strlen函数查看有效字符个数然后做比较是最好的本回答被网友采纳
第2个回答  2013-12-20
#include <stdio.h>
#include <string.h>
int main()
{
int i;
char sx[80], max[80];
scanf("%s", max);
for(i=1;i<5;i++){
scanf("%s", &sx);
if(strcmp(max,sx)>0)
strcpy(max,sx);

}
printf("max is: %s\n",max);
return 0;
}
小于0改为大于0
for少一个{本回答被提问者采纳
相似回答