1.添加一个中间变量进行数据的转移:
int main()
{
char a[]="character";
char b='z';
int i, k;
char tmp;
int n=strlen(a);
printf("input a zifu at:");
scanf("%d",&k);
tmp=a[k-1];
a[k-1]=b;
for(i=k; i<n+1; i++)
{
b=a[i];
a[i]=tmp;
tmp=b;
}
printf("%s",a);
return 0;
#include<stdio.h>
#include<string.h>int main()
{
char a[]="character";
char b='z';
int i, k;
char tmp;
int n=strlen(a);
printf("input a zifu at:");
scanf("%d",&k);
tmp=a[k-1];
a[k-1]=b;
for(i=k; i<n+1; i++)
{
b=a[i];
a[i]=tmp;
tmp=b;
}
printf("%s",a);
return 0;
}
2: 将原数组的值赋给另一个数组
#include <stdio.h>
#include <string.h>
int main()
{
char c[1024]={'c','h','a','r','a','c','t','e','r'};
char b[1024]={0};
char a;
int n,i,j=0;
scanf("%d %c",&n,&a);
strncpy(b,c,n);
for(i=n;i<11;i++)
{
b[i+1]=c[i];
}
b[n]=a;
printf("%s\n",b);
return 0;
}