注册 登录
编程论坛 C++教室

关于输出指针数组的问题

陈紫文 发布于 2018-09-08 13:24, 1385 次点击
目的;建立一个字符串指针数组,数组保存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;
}
3 回复
#2
rjsp2018-09-08 13:35
*(name[i]) 是char类型
你想要的是 char* 类型吧
#3
陈紫文2018-09-08 14:25
就是,我想把字符串打印出来
我改成&(*(name[i]))就满足我要求了,
但我晓不得为啥可以这样改
#4
rjsp2018-09-08 15:10
&(*(name[i]))
写成
name[i]
就行了
1