C语言问题,在线等。有错误,望解答。
#include <stdio.h>
char max(char *a,char*b,char*c)
{
char t,max;
t=(*a>*b)?*a:*b;
max=(t>*c)?t:*c;
return max;
}
void main()
{
char *a,*b,*c,m;
printf("请输入三个字符串:");
scanf("%s%s%s",&a,&b,&c);
m=max(&a,&b,&c);
printf("m=%s\n",m);
}
补充:error C2664: 'max' : cannot convert parameter 1 from 'char ** ' to 'char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
追问:比较三个字符串的大小,取最大值。
答案:char max(char *a,char*b,char*c)应该是char max(char **a,char**b,char**c)
比较大小用strcmp函数
其他:字符串不能比较大小。字符能够比较大小 逻辑很不对.. 你告诉我你的代码的目的吧..
你的max取的是什么的最大值?
返回的是字符串还是字符?
说清楚点好么.
不然就算能运行也是错的 字符串的比较需要使用strcmp函数,而不能直接用大于小于号比较。。
请问你程序的需求是什么?
上一个:C语言函数uitoa的用法
下一个:c语言的一个问题,求解