c语言在“this is student”中插入字符变为“this is a student”我写程序如下请高手改错#includevoid main(){\x05int i;\x05char a[20];\x05char *p="this is student";\x05for(i=0;p+i!='\0';i++)\x05{a[i]=p+i;\x05 if(i=7) {a[7]=' ';a[8]

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 06:35:55

c语言在“this is student”中插入字符变为“this is a student”我写程序如下请高手改错#includevoid main(){\x05int i;\x05char a[20];\x05char *p="this is student";\x05for(i=0;p+i!='\0';i++)\x05{a[i]=p+i;\x05 if(i=7) {a[7]=' ';a[8]
c语言在“this is student”中插入字符变为“this is a student”我写程序如下请高手改错
#include
void main()
{
\x05int i;
\x05char a[20];
\x05char *p="this is student";
\x05for(i=0;p+i!='\0';i++)
\x05{a[i]=p+i;
\x05 if(i=7) {a[7]=' ';a[8]='a';i++;}
\x05}
\x05a[i+1]='\0';
\x05printf("%c",a[20]);
}

c语言在“this is student”中插入字符变为“this is a student”我写程序如下请高手改错#includevoid main(){\x05int i;\x05char a[20];\x05char *p="this is student";\x05for(i=0;p+i!='\0';i++)\x05{a[i]=p+i;\x05 if(i=7) {a[7]=' ';a[8]
你这不是插入操作,而是把a[7] a[8]赋值,但是循环从i为8开始继续复制原字符串,就把a[8]覆盖了
#include
#include
#include
int main(int argc,char **argv)
{
char a[20] = "this is student";
memmove(a+10,a+8,7);
a[8]='a';
a[9]=' ';
printf("%s\n",a);
return 0;
}