| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 533 人关注过本帖
标题:[求助]指针数组问题(急)
只看楼主 加入收藏
喝茶的小k
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-7-27
收藏
 问题点数:0 回复次数:7 
[求助]指针数组问题(急)

#include<iostream.h>

#include<string.h>
#define Num 10
void main()
{
int i;
int N; //信源个数
char *p[Num];

cout<<"请输入信源个数N: "<<endl;
cin>>N;

cout<<"请输入信符号:"<<endl;
for(i=0;i<N;i++)
cin>>*p[i]; //我怀疑是这里错了,但我不知道该怎么办
for(i=0;i<N;i++)
cout<<p[i];
}
他的输出老是错,提示为内存不能read

搜索更多相关主题的帖子: 指针 
2007-01-01 16:06
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
分配空间吧.

倚天照海花无数,流水高山心自知。
2007-01-01 16:23
喝茶的小k
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-7-27
收藏
得分:0 

什么意思?不懂


2007-01-01 16:24
kelifei
Rank: 1
来 自:UESTC
等 级:新手上路
帖 子:89
专家分:0
注 册:2006-5-11
收藏
得分:0 
char *p[Num];
定义有问题啊。可是你cin>>*p[i];
假如你输入A,你就是把批P[i]=A.
但是*A又是地址阿,这是系统不能够这样用的。
你可以定义成char p[Num];或char *p;


-DFAE -DESS -DDVD -DMTK  -DDVR -DDECODE -DMSTAR -DPMP我决定在论坛潜水3年又3年!
2007-01-01 16:59
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
char *p[Num];
给它赋上空间.

倚天照海花无数,流水高山心自知。
2007-01-01 21:10
没牙的狼
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-4-23
收藏
得分:0 
分配空间

2007-01-01 21:16
jishuai
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-12-15
收藏
得分:0 

for(i=0;i<N;i++)
cin>>*p[i]; 输入的时候应该是让指针指向你输入的信号附的地址啊。所以不要加*啊。
for(i=0;i<N;i++)
cout<<p[i];而输出的时候 因为是要输出内容所以要加*啊。


2007-01-01 23:36
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 

#include<iostream.h>

#include<string.h>
#define Num 10
void main()
{
int i;
int N; //信源个数
char **p; //需要一个字符数组(字符串)的数组,其实就是指向字符数组的指针数组,反映到程序上就是二级指针

cout<<"请输入信源个数N: "<<endl;
cin>>N;

*p=new char*[N]; //首先分配指针数组个数,也就是信源的个数

cout<<"请输入信符号:"<<endl;
for(i=0;i<N;i++)
{
*p[i]=new char[Num]; //对每个数组的元素(即一个指向字符数组的指针)分配用于存放字符数组的空间
cin>>*p[i];
}
for(i=0;i<N;i++)
cout<<*p[i];
}



另外,既然你用c++了,干吗不用string类,用这样的指向字符数组的指针数组会使代码很难读,修改如下
#include<iostream>
#include<string>
using namespace std;

void main()
{
int i;
int N; //信源个数
string *p;

cout << "请输入信源个数N: " << endl;
cin >> N;

p=new string[N];

cout<<"请输入信符号:"<<endl;
for(i=0;i<N;i++)
{
cin >> p[i];
}
for(i=0;i<N;i++)
cout << p[i];
}


[此贴子已经被作者于2007-1-2 13:04:12编辑过]


个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2007-01-02 12:48
快速回复:[求助]指针数组问题(急)
数据加载中...
 
   



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

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