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);
…………
以下几种方法定义也都是可以的:
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);
…………
温馨提示:答案为网友推荐,仅供参考