标题:寻觅大虾。。。
只看楼主
chiyuan168
Rank: 1
来 自:镇江
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-5-4
 问题点数:0 回复次数:2 
寻觅大虾。。。
请大虾帮忙看看,下面哪里错了,谢谢了啊!

#include <stdio.h>

char* getname(void)
{
    char nstring[25];
    printf("Please type your name: ");
    gets( nstring);
    putchar('\n');
    return nstring;
}

int main(void)
{
    char* myname;
    myname=getname();
    printf("%s\n",myname);
    return 0;
}
搜索更多相关主题的帖子: void include return 
2008-11-01 09:46
batmanlf
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-7-30
得分:0 
getname 的数组nstring 在getname 返回后 生存期就结束,所以不能返回nstring,可以改成这样。
#include <stdio.h>

char* getname(char *nstring)
{
   // char nstring[25];
    printf("Please type your name: ");
    gets( nstring);
    putchar('\n');
    return nstring;
}

int main(void)
{
    char* myname;
    char [25];
    myname=getname(nstring);
    printf("%s\n",myname);
    return 0;
}
2008-11-01 11:13
batmanlf
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-7-30
得分:0 
char* getname(char *nstring)
{
   // char nstring[25];
    printf("Please type your name: ");
    gets( nstring);
    putchar('\n');
    return nstring;
}

int main(void)
{
    char* myname;
    char nstring[25];
    myname=getname(nstring);
    printf("%s\n",myname);
    return 0;
}
2008-11-01 11:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-241807-1-1.html




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

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