| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2266 人关注过本帖
标题:指针数组为何输入不了字符串;
只看楼主 加入收藏
九天冥盟
Rank: 2
等 级:论坛游民
威 望:1
帖 子:77
专家分:20
注 册:2015-7-14
结帖率:36%
收藏
已结贴  问题点数:15 回复次数:9 
指针数组为何输入不了字符串;
#include <iostream>
using namespace std;

int main()
{
  char *a[3];
  int i;
  for(i=0; i<3; i++)
    cin>>a[i];
  for(i=0 ; i<3; i++)
    cout<<a[i]<<endl;
return 0;
}

当输完第一个字符串时,就会弹出一个“该程序已停止工作。。。”
这是什么原因啊? 注:编译器:DEV-c++ 5.11
搜索更多相关主题的帖子: 指针 数组 输入 字符串 for 
2017-11-23 18:53
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
收藏
得分:5 
申请了一个指针数组,你并没有给每个指针分配内存呀,输入的东西要往哪放呢?挂掉是很正常的
2017-11-23 21:04
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:5 
char *a[3] 改为 char a[3][单个字符串可能需要的最长字节数],比如 char a[3][200];
当然,因为用户实际输入的最长字节数很难确定,所以一般用std::string,即 std::string a[3];
2017-11-24 08:23
九天冥盟
Rank: 2
等 级:论坛游民
威 望:1
帖 子:77
专家分:20
注 册:2015-7-14
收藏
得分:0 
回复 2楼 wengbin
但是为什么c语言中声明一个指针数组却可以正确输入和运行!
2017-11-24 08:32
九天冥盟
Rank: 2
等 级:论坛游民
威 望:1
帖 子:77
专家分:20
注 册:2015-7-14
收藏
得分:0 
回复 3楼 rjsp
就是说声明了string 类的一个数组; 之所以不用二维数组而使用指针数组,就是因为二维数组太消耗内存;  
2017-11-24 08:44
十三陵
Rank: 2
等 级:论坛游民
威 望:1
帖 子:5
专家分:12
注 册:2017-10-29
收藏
得分:5 
用string库下的string好了dev支持c11的,STL的库不用真的对不起c11
2017-11-24 22:57
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
收藏
得分:0 
麻烦把c语言里能运行的代码分享下吧,看看什么样的,正常来说如果和你在这里贴的代码一样,肯定是不可以的
2017-11-29 19:36
新人学习
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:145
专家分:187
注 册:2017-10-26
收藏
得分:0 
你这样的定义 只能初始化 字符串
2017-12-12 22:26
Heisberg
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-1-21
收藏
得分:0 
#include <cstdio>
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
    char *a=(char *)malloc (3*sizeof(char));
    int i;
    for(int i=0;i<3;i++)
        cin>>*(a+i);
    for(int i=0;i<3;i++)
        cout<<*(a+i)<<endl;
}
2017-12-18 12:41
新人学习
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:145
专家分:187
注 册:2017-10-26
收藏
得分:0 
你定义了三个指针变量
但是没有给这个三个指针变量寻求一块内存区域
用new分配内存.
2017-12-18 20:44
快速回复:指针数组为何输入不了字符串;
数据加载中...
 
   



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

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