|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 指针数组为何输入不了字符串;
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2241
人关注过本帖
标题:
指针数组为何输入不了字符串;
只看楼主
加入收藏
九天冥盟
等 级:
论坛游民
威 望:
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
来 自:陕西西安
等 级:
贵宾
威 望:
19
帖 子:370
专家分:1846
注 册:2015-5-8
第
2
楼
收藏
得分:5
申请了一个指针数组,你并没有给每个指针分配内存呀,输入的东西要往哪放呢?挂掉是很正常的
2017-11-23 21:04
举报帖子
使用道具
赠送鲜花
rjsp
等 级:
版主
威 望:
528
帖 子:9025
专家分:54030
注 册:2011-1-18
第
3
楼
收藏
得分:5
char *a[3] 改为 char a[3][单个字符串可能需要的最长字节数],比如 char a[3][200];
当然,因为用户实际输入的最长字节数很难确定,所以一般用std::string,即 std::string a[3];
2017-11-24 08:23
举报帖子
使用道具
赠送鲜花
九天冥盟
等 级:
论坛游民
威 望:
1
帖 子:77
专家分:20
注 册:2015-7-14
第
4
楼
收藏
得分:0
回复 2楼 wengbin
但是为什么c语言中声明一个指针数组却可以正确输入和运行!
2017-11-24 08:32
举报帖子
使用道具
赠送鲜花
九天冥盟
等 级:
论坛游民
威 望:
1
帖 子:77
专家分:20
注 册:2015-7-14
第
5
楼
收藏
得分:0
回复 3楼 rjsp
就是说声明了string 类的一个数组; 之所以不用二维数组而使用指针数组,就是因为二维数组太消耗内存;
2017-11-24 08:44
举报帖子
使用道具
赠送鲜花
十三陵
等 级:
论坛游民
威 望:
1
帖 子:5
专家分:12
注 册:2017-10-29
第
6
楼
收藏
得分:5
用string库下的string好了dev支持c11的,STL的库不用真的对不起c11
2017-11-24 22:57
举报帖子
使用道具
赠送鲜花
wengbin
来 自:陕西西安
等 级:
贵宾
威 望:
19
帖 子:370
专家分:1846
注 册:2015-5-8
第
7
楼
收藏
得分:0
麻烦把c语言里能运行的代码分享下吧,看看什么样的,正常来说如果和你在这里贴的代码一样,肯定是不可以的
2017-11-29 19:36
举报帖子
使用道具
赠送鲜花
新人学习
等 级:
论坛游侠
威 望:
1
帖 子:145
专家分:187
注 册:2017-10-26
第
8
楼
收藏
得分:0
你这样的定义 只能初始化 字符串
2017-12-12 22:26
举报帖子
使用道具
赠送鲜花
Heisberg
等 级:
新手上路
帖 子:1
专家分:0
注 册:2017-1-21
第
9
楼
收藏
得分: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
举报帖子
使用道具
赠送鲜花
新人学习
等 级:
论坛游侠
威 望:
1
帖 子:145
专家分:187
注 册:2017-10-26
第
10
楼
收藏
得分:0
你定义了三个指针变量
但是没有给这个三个指针变量寻求一块内存区域
用new分配内存.
2017-12-18 20:44
举报帖子
使用道具
赠送鲜花
10
1/1页
1
快速回复:
指针数组为何输入不了字符串;
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.065731 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved