【发布时间】:2016-04-10 20:21:36
【问题描述】:
我试图取消引用这个指向新数组 (ARR) 的指针,但是从下面的这个示例中,当我执行取消引用 *issub 时,它只“携带”第一个字母。我该如何解决这种情况并让ARR(subscount) 成为我想要的词?
#include <iostream>
int main(){
char inp[3]={'O','I','L'};
int lll=3;
char ARR[3];
int subscount=0;
char * issub= new char[lll];
for(int i=0;i<lll;i++){
issub[i]=inp[i];
}
ARR[subscount]=*issub;
}
【问题讨论】:
-
你的代码很糟糕,因为 inp 正在被越界索引访问!
-
你到底想做什么?填充
ARR的每个单元格,使其与inp相同,或在ARR[subscount]中有一个指针将指向单词? -
@gsamaras 我希望
ARR[0]像 inp 一样成为“OIL” -
但是@J.Barbosa
inp[0]是“O”,而不是“OIL”。 -
@DavidSchwartz
strcpy不适用于不包含字符串的字符数组(如本问题所示)