#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);
}
请问为什么使用%s输出不了字符串
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
A-Chin 2022-04-08 22:49关注如果直接给字符变量赋值为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; }输出:
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用