高手请指教!字符指针

futurepro 2004-11-21 03:42:21
char *max(char * x,char *y)
{
return strcmp(x>y)>0?x:y;
}

main()
{
cout<<max("win","ms")<<endl;
return 1;
}

我做很多字符子指针相加或是相比较时总得不到要返回的结果!
...全文
101 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dajiadihao 2004-11-21
  • 打赏
  • 举报
回复
楼上正解。。
参数调用错了。。
是strcmp(char *ch1,char *ch2);
0为相等
>0为ch1>ch2
<0为ch1<ch2
futurepro 2004-11-21
  • 打赏
  • 举报
回复
可以了,谢谢各位!
请问在哪里结贴啊!
我怎么找不到结贴
greenteanet 2004-11-21
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;
#include <stdlib.h>
#include <string>

char *max(char * x,char *y)
{
return strcmp(x, y) > 0 ? x : y;
}

int main()
{
cout << max("win", "ms") << endl;
return 0;
}

输出结果为win
边城狂人 2004-11-21
  • 打赏
  • 举报
回复
你这个程序只有一点点错
return strcmp(x>y)>0?x:y;
改成
return strcmp(x, y) > 0 ? x : y;

不是指针的问题,是你调用 strcmp 给的参数给错了
kobefly 2004-11-21
  • 打赏
  • 举报
回复
返回指针的值
要用指针的指针

你这里返回的只是指针值的一个副本

所以不对

可以参见林锐书上的某一章

讲的比较详细

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧