标题:关于输出指针数组的问题
只看楼主
陈紫文
Rank: 1
等 级:新手上路
帖 子:14
专家分:4
注 册:2018-9-5
结帖率:62.5%
已结贴  问题点数:10 回复次数:3 
关于输出指针数组的问题
目的;建立一个字符串指针数组,数组保存10个字符串的地址
函数getname()返回字符串的地址并赋值给数组
如何我输入asd,asd,asd,asd,asd,asd,asd,asd,asd,asd
则程序输出a,a,a,a,a,a,a,a,a,a
这不是我要的输出
我想要的输出asd,asd,asd,asd,asd,asd,asd,asd,asd,asd
附带码

#include <iostream>
#include <cstring>
using namespace std;
char* getname()
{
    char* p = NULL;
    char temp[80];
    cout << "temp:";
    cin >> temp;
    p = new char[strlen(temp) + 1];
    strcpy_s(p, strlen(temp) + 1, temp);
    return p;

}
int main()
{

    char* name[10];
    for (int i = 0; i < 10;i++)
    {
        name[i] = getname();
    }
    for (int i = 0; i < 10; i++)
    {
        cout << *(name[i]) <<endl;
    }
    while (1);
    return 0;
}
搜索更多相关主题的帖子: 输出 指针 数组 char temp 
2018-09-08 13:24
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
*(name[i]) 是char类型
你想要的是 char* 类型吧
2018-09-08 13:35
陈紫文
Rank: 1
等 级:新手上路
帖 子:14
专家分:4
注 册:2018-9-5
得分:0 
就是,我想把字符串打印出来
我改成&(*(name[i]))就满足我要求了,
但我晓不得为啥可以这样改
2018-09-08 14:25
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
&(*(name[i]))
写成
name[i]
就行了
2018-09-08 15:10



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




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

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