当前位置:编程学习 > C/C++ >>

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语言的一个问题,求解

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,