| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 269 人关注过本帖
标题:[求助]帮忙解决一个关于返回指针的函数的问题
只看楼主 加入收藏
tonight0932
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2012-8-31
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:2 
[求助]帮忙解决一个关于返回指针的函数的问题
#include<string.h>
#define strlen 81
#include<stdio.h>
char *maxstr(char *str1,char *str2)
{
    if(strcmp(str1,str2)>=0)return(str1);
    else return(str2);
}
void main()
{
    char string1[strlen],string2[strlen],*result;
    printf("input two string:\n");
    scanf("%s%s",string1,string2);
    result=maxstr(string1,string2);
    printf("the max string is:%s\n",result);
}
问题在于倒数第二行输出那里为什么是result而不是*result。
既然返回的是指针,那就是字符串的地址啊,为什么不指向(*result)?
搜索更多相关主题的帖子: result return include 
2012-09-04 17:32
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
收藏
得分:10 
result这是指向你字符串的首字母的地址,printf("the max string is:%s\n",result);这样打就他地址不断的往后退直到‘\0’才结束,这样就打出字符串了,你还可以这样打printf(result);也是可以打的。你*result就指的是第一个字母啦,他不会往后面打了
2012-09-04 21:44
tonight0932
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2012-8-31
收藏
得分:0 
回复 2楼 遗矢的老人
非常感谢!
2012-09-05 08:39
快速回复:[求助]帮忙解决一个关于返回指针的函数的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037331 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved