我有一个字符数组"anana",我想在这个字符数组的开头插入一个"B",使它变成"Banana",但是我无法构建一个简单的while循环来插入B并将每个字母向右移动一步。
我有一个字符数组"anana",我想在这个字符数组的开头插入一个"B",使它变成"Banana",但是我无法构建一个简单的while循环来插入B并将每个字母向右移动一步。
假设:
char array[7] = "anana";
然后:
memmove(array+1, array, 6);
array[0] = 'B';
memmove
函数专门用于涉及重叠数据的情况。
#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;
}
strlen()
查找输入字符串的大小来动态执行此操作。newArray[0]
上,例如 'B'。i=1 -> 7
newArray[i] = oldArray[i-1];