strcmp的第一个参数你用的char类型,但是strcmp的参数需要是char*类型。你把代码贴出来看看。
读取三个字符串需要用二维数组,例如:a[3][100],字符串的复制用strcpy函数。
代码修改如下:
#include <stdio.h>
#include <string.h>
void main()
{
char a[3][100],c[100];//修改1
int i;
printf("输入三个字符串:");
//修改2
for(i=0;i<3;i++)
gets(a[i]);
for (i=0;i<2;i++)
{
if(strcmp(a[i],a[i+1])<0)
strcpy(c,a[i+1]);
else
strcpy(c,a[i]);
}
printf("%s",c);
}
字符不能转换为字符数组,把代码发出来看看。
不用那个strcmp,直接两个字符中间放==就好
#include <stdio.h>
#include <string.h>
void main()
{
char a[3][1024],c[1024];
int i;
printf("输入三个字符串:");
for(i=0;i<3;i++)
gets(a[i]);
for (i=0;i<2;i++)
{
if(strcmp(a[i],a[i+1])<0)
{
strcpy(c,a[i+1]);
strcpy( a[i+1],a[i]);
strcpy(a[i],c);
}
else
strcpy(c,a[i]);
}
printf("%s",c);
}