当前位置: 技术问答>linux和unix
bzero函数
来源: 互联网 发布时间:2017-01-01
本文导语: #include #include int main() { char s[]="Hello World!"; printf("%sn",s); bzero(s,2); printf("%sn",s); return 0; } 按理说,只是把字符串的前两个字符清零,后面的字符还是应该有, 但是bzero以后再打印出来,就是一行空白,怎么回...
#include
#include
int main()
{
char s[]="Hello World!";
printf("%sn",s);
bzero(s,2);
printf("%sn",s);
return 0;
}
按理说,只是把字符串的前两个字符清零,后面的字符还是应该有,
但是bzero以后再打印出来,就是一行空白,怎么回事呢?
#include
int main()
{
char s[]="Hello World!";
printf("%sn",s);
bzero(s,2);
printf("%sn",s);
return 0;
}
按理说,只是把字符串的前两个字符清零,后面的字符还是应该有,
但是bzero以后再打印出来,就是一行空白,怎么回事呢?
|
printf遇到,也就是0就会停止,所以。遇到,printf就结束了。
|
printf("%sn",s);
printf("%sn",s + 2);
对比分析下
printf("%sn",s + 2);
对比分析下
|
一个for 循环, 打印 %0x
|
C风格字符串,遇到''就结束了
|
printf("%sn",s);
打印字符串,遇到''就结束了。
bzero(s,2);已经把前面2个元素清0.
用%s去打印字符串s[]里面的元素。第一二个元素都是0
遇到第一个0的时候打印就已经结束了,所以输出是空白
打印字符串,遇到''就结束了。
bzero(s,2);已经把前面2个元素清0.
用%s去打印字符串s[]里面的元素。第一二个元素都是0
遇到第一个0的时候打印就已经结束了,所以输出是空白
|
一楼正解
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。