【发布时间】:2015-09-09 19:44:01
【问题描述】:
大家好,我在使用反向复制方法时遇到了一些问题。该方法需要反向复制char*。
char* reverseCopy(char* destination, const char* source, int num)
{
char placeHolder;
for (int j=0; j<=num; j++)
{
strcpy(destination,source);
}
for (int i=0; i<num; num--)
{
placeHolder = destination[num];
destination[i]=placeHolder;
}
destination[num]='\0';
return destination;
}
目标是存储副本的位置。
来源是复制的字符
Num 是数组中的字符数
感谢任何见解。谢谢
【问题讨论】:
-
你期望什么输出,你得到什么输出,究竟是什么?
-
老实说,这是为了反转字符串而过于复杂的代码。
-
为什么
strcpy在循环中??? -
只需获取指向最后一个字符的指针并向后迭代,复制到输出字符串。注意终止字符。
-
是的,我认为 OP 不知道循环可以倒退。我假设这是因为对 strcpy 的调用是完全没有必要的(即使它使用不正确)。