#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”?
尝试这个代码:
#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]);