将char插入char数组C(string)

时间:2018-03-12 18:09:09

标签: c

我得到了char数组" anana"而我正试图找到一个" B"在char数组的开头,所以它拼写了#34; Banana"但我无法绕过如何构建一个简单的while循环来插入B然后将每个字母向右移动一步

3 个答案:

答案 0 :(得分:4)

假设:

char array[7] = "anana";

然后:

memmove(array+1, array, 6);
array[0] = 'B';

memmove函数专门用于数据移动涉及重叠的情况。

答案 1 :(得分:1)

您可以使用更传统的方法...

#include <stdio.h>

int main()
{
  char s[] = "ananas";
  char b[7] = "B";

  for(int i = 0; i < 7; ) {
    char temp = s[i++];
    b[i] = temp;
  }

  printf("%s", b);    

  return 0;
}

答案 2 :(得分:0)

请按照以下步骤操作:

  1. 创建大小为6(Banana)的新数组,您可以通过使用strlen()查找输入字符串的大小来动态执行此操作。
  2. 将您想要的角色放在&#39; B&#39; at newArray [0]。
  3. 循环i = 1 - &gt; 6
  4. 将值复制为newArray [i] = oldArray [i-1];