为什么这段 C 代码在输出中不打印“a”?

问题描述 投票:0回答:1
#include<stdio.h>
#include<string.h>
void main(){
   char x[9]="helloabc";
   x[8]='\0';
   int a=2,b=3;
   strcpy(&x[2],&x[4]);
   for(int i=0;i<8;i++){
       printf("%c",x[i]);
   }
}

几乎所有编译器都会输出“heocbc c”。为什么这个 C 代码不在输出中打印“a”?

c string strcpy
1个回答
0
投票

尝试这个代码:

#include<stdio.h>
#include<string.h>
void main(){
   char x[9]="helloabc";
   x[8]='\0';
   for(int i=0;i<8;i++){
       printf("%c",x[i]);
   }
}

删除此代码:

x[8]='\0';
int a=2,b=3;
strcpy(&x[2],&x[4]);
© www.soinside.com 2019 - 2024. All rights reserved.