【发布时间】:2011-02-12 14:48:43
【问题描述】:
我的任务由两部分组成。首先,我必须创建 100 个元素的全局字符数组,并使用 cin 向其中插入一些文本。然后计算字符数量,并根据输入文本的长度创建专用数组。我正在考虑以下解决方案:
char[100]inputData;
int main()
{
cin >> inputData >> endl;
int length=0;
for(int i=0; i<100; i++)
{
while(inputData[i] == "\0")
{
++count;
}
}
char c = new char[count];
我的想法好吗?
任务的第二部分是在第一个程序中引入动态创建的指向所有插入单词的指针数组。添加一个新单词应该打印所有之前的单词,如果没有空间用于下一个单词,则 inputData 数组的大小应该增加两倍。老实说,这对我来说有点过分了。我如何专门创建指向单词的指针?以及如何在不丢失其内容的情况下增加全局数组的大小?有一些临时数组?
【问题讨论】:
-
“我的任务由两部分组成。首先我必须创建 100 个元素的全局 char 数组” - 不,您几乎可以肯定不需要这样做。
-
@Tom:我当然希望如此——否则这完全是疯了(甚至作为家庭作业,这有点可疑)。
-
我记得很多年前一位朋友的第一次 c++ 作业失败了。他应该声明 4 个变量,3 个第一个特定值和第 4 个 = 之前 3 个的总和。他只是声明了 1 个变量并分配了总的值,老师问他在想什么,他说‘如果我已经知道变量将始终由什么值初始化,让其他变量不是低效的?'
-
这段代码甚至无法编译:
char[100] inputData;是无效的 C++ 代码。你想要char inputData[100];
标签: c++ arrays dynamic pointers allocation