[讨论]我们学校的一个竞赛题,很有意思
这是我们学校的一个竞赛题。分析下面的代码,回答后面的问题
#include<iostream.h>
#include<stdio.h>
void main()
{
int i;
char *p[3]={"hello,boy","yes","no"};//定义了含三个元素的字符型指针数组并初始化
for(i=0;i<3;i++) //输出这三个字符串
puts(p[i]);
cout<<endl;
}
上面的代码中是用指针数组来存储变长字符串的,显然节省了很多空间(避免了用二维数组时,要以最长字符串的长度为标准)
问:
如果仍然用指针数组来实现这种变长字符串的高效率(空间上)存储,但是,其中的字符串"hello,boy","yes""no"要求在程序执行时由用户自行从键盘输入,问这样还能实现吗?若能,写出代码,若不能,说明理由。