如何在数组中移动char?

时间:2015-10-29 07:31:20

标签: c++ arrays string multidimensional-array char

我要做的是使用1D或2D数组中的箭头键移动角色。我用" a"初始化了数组。这意味着它从索引#0开始,但是当我交换时它并没有给出预期的输出,而是给了我类似的东西:

//if url contains "field1=3" then add the class "selected" to element "tab2"
if (window.location.href.indexOf("field1=3") > -1) {
   $("#tab2").addClass("selected")
}

应该是这样的

a a a a a a a a a

这是我的代码

                a

2 个答案:

答案 0 :(得分:1)

我会严格回答您的问题,然后我会在您的代码中指出其他一些问题。

当前问题是您打印错误的数据。例如,当您“向右”移动时,您可以在当前位置打印字符'a',然后执行gotoxy(x,y)。虽然您需要将' '放在当前位置,然后将gotoxy(x,y)与更新后的值一起使用,然后放置'a'

-

其他一些问题:

1

char *line_ptr = (char*)arr[0];
char *line_ptr2d =(char*)arr[0];

什么?为什么?你的意思是:

char *line_ptr = arr;
char *line_ptr2d = arr;

2

您不会检查是否在数组限制范围内。

3

无论向左还是向右移动,您始终都会推进索引i。 (在这种情况下,您应该使用现有的x索引)。

4

char arr[1024] = { "a"}; // You probably meant char arr[1024] = {'a'};

答案 1 :(得分:0)

在数组中交换两个字符后,您只需显示新字符

swap(&arr[i], &arr[i + 1]);
cout << arr[i];

你还必须在i + 1位置上写一个空格,让它消失。