输入3个字符串,想存在一个指针数组里

napoleonpan1 2003-08-21 12:15:05
//我这样子写怎么只输入了一个字符串就结束了?
#include<iostream.h>
void main()
{
int i;
int *a[3];
for(i=0;i<=2;i++)
cin>>*(a[i]);
}
...全文
93 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluefile 2003-08-22
  • 打赏
  • 举报
回复
to: Bandry(菜鸟-舍我其谁)

何必要那样分配空间
for (i = 0; i < 3; i++)
a[i] = new char[81];

直接 char *a = new a[3];
Dragon132 2003-08-21
  • 打赏
  • 举报
回复
#include<iostream.h>
void main()
{
int i;
char a[3][50]; //字符型
for(i=0;i<=2;i++)
cin>>a[i];
}
你自己想办法分配空间后就可以用你的那个指针了
napoleonpan1 2003-08-21
  • 打赏
  • 举报
回复
//这样吗?还是不行,只输入一行就结束了
#include<iostream.h>
void main()
{
int i;
int *a[3][50];
for(i=0;i<=2;i++)
cin>>**(a[i]);
}
Dragon132 2003-08-21
  • 打赏
  • 举报
回复
但是你也要分配一个空间来存储这些字符串啊
napoleonpan1 2003-08-21
  • 打赏
  • 举报
回复
上面我说的有点不对(含三个元素,每个元素是一个指向字符串的指针)
napoleonpan1 2003-08-21
  • 打赏
  • 举报
回复
照上面的程序,还是只输入了一个字符串就结束了
另外,我是想用一个大的指针数组来存储,(含三个元素,每个元素是一个字符串)
Dragon132 2003-08-21
  • 打赏
  • 举报
回复
#include<iostream.h>
void main()
{
int i;
int a[3][50]; //要分配空间的
for(i=0;i<=2;i++)
cin>>*(a[i]);
}

Dragon132 2003-08-21
  • 打赏
  • 举报
回复
#include<iostream.h>
void main()
{
int i;
int a[3][50];
for(i=0;i<=2;i++)
cin>>*(a[i]);
}
Dragon132 2003-08-21
  • 打赏
  • 举报
回复
to napoleonpan1(张四丰)
我只是告诉你要怎么改,不要总是希望别人把程序给你做好了,拿过来用
我已经告诉你了,你要是想用指针数组的话,再分配一个
char *c[3];
c[1]=a[1];
c[2]=a[2];
c[3]=a[3];
就行了,做程序还是要靠自己的,有了思路就行啦,自己多做一些对你有好处的
Bandry 2003-08-21
  • 打赏
  • 举报
回复
#include<iostream.h>
void main()
{
int i = 0;
char *a[3];

// 分配空间
for (i = 0; i < 3; i++)
a[i] = new char[81];

cout << "Please input string:" << endl;
for (i = 0; i < 3; i++)
{
cin.getline(a[i], 80);
}

cout << "Values:" << endl;
for (i = 0; i < 3; i++)
{
cout << a[i] << endl;
}

// 释放空间
for (i = 0; i < 3; i++)
delete [] a[i];
}
napoleonpan1 2003-08-21
  • 打赏
  • 举报
回复
我晕,楼上各位,大家好心帮助我倒是挺感激的
但是诸位有没有看到我的题目
"指针数组"!!!!!!!
我是想将3个字符串以指针的形式存在一个大的指针数组里
that means the instructions is mostly like this:

main()
{
char *a[3];

......

}

void f1(char *k[],int n)
{
......

}


Kotoya 2003-08-21
  • 打赏
  • 举报
回复
Bandry
就是猛男!
Bandry 2003-08-21
  • 打赏
  • 举报
回复
#include<iostream.h>
void main()
{
int i = 0;
char a[3][81];

cout << "Please input string:" << endl;
for (i = 0; i < 3; i++)
{
cin.getline(a[i], 80);
}

cout << "Values:" << endl;
for (i = 0; i < 3; i++)
{
cout << a[i] << endl;
}
}

拜托各位,是字符串,不是int
leafxx 2003-08-21
  • 打赏
  • 举报
回复
可搂主要求的是存在指针数组里
wbh0360 2003-08-21
  • 打赏
  • 举报
回复
这样就行了!!!!!
#include<iostream.h>
void main()
{
int i;
int a[3][50]; //要分配空间的
i=0;
while(i<3&&cin>>a[i++]);
}
wbh0360 2003-08-21
  • 打赏
  • 举报
回复
你一回车,它当然结束输入了!
Bill_rao 2003-08-21
  • 打赏
  • 举报
回复
gets() function

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧