#include<stdio.h>
int main(){
char a[10];
int i;
//scanf("%s",a);
for(i=0;i<=8;i++)
{
a[i]=i;
}
a[9]='\0';
printf("%s",a);
}
如果直接给字符变量赋值为int型,则对应的是ACSII码中对位的字符,在ACSII中,0是NUL,也就是我们常说的 '\0'
楼主的代码中,a[0] = '\0'
,所以没有看到结果。
改一下代码能够看得更清楚,让a[3]为0:
#include<stdio.h>
int main(){
char a[10];
int i;
//scanf("%s",a);
for(i=0;i<=8;i++)
{
a[i]=i+'a';
}
a[3]=0;
printf("%s",a);
return 0;
}
输出: