C语言,一维字符数组用%s输出为什么会出错?必须定义长度ch[5]才可以,不写这个5为什么不能出来?

char ch[]={'f','f','f'};
printf("%s",ch);
结果:fff@乱码

C语言,一维字符数组用%s输出必须要有字符串的串尾符才不会出错。不是必须定义长度ch[5]才可以的。
以下几种方法定义也都是可以的:
char ch[]={'f','f','f','\0'};
printf("%s",ch);
=============
char ch[]={"fff"};
printf("%s",ch);
=============

char ch[4]={'f','f','f'};
printf("%s",ch);
=============
char ch[6]={'f','f','f'};
printf("%s",ch);
=============
char ch[10]={'f','f','f'};
printf("%s",ch);
…………
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网