主题:菜鸟问题
			 kongleung
				 [专家分:0]  发布于 2010-07-15 20:30:00
 kongleung
				 [专家分:0]  发布于 2010-07-15 20:30:00							
			#include <stdio.h>
main()
{
    char str[6]={'a','b','\0','c','d','\0'};
    printf("%s",str);
}
运行结果:ab
为什么是ab啊。是不是字符数组是以最后一个字符是结束标记('\0')?
			最后更新于:2010-07-15 20:41:00
			
					 
		
			
回复列表 (共9个回复)
		
								
						
				板凳
				
					 强强 [专家分:4740]  发布于 2010-07-15 21:17:00
强强 [专家分:4740]  发布于 2010-07-15 21:17:00				
				软件作者社区www.soft86.net明显是来踢场子的,应该封ID
							 
						
				3 楼
				
					 cgl_lgs [专家分:21040]  发布于 2010-07-15 23:29:00
cgl_lgs [专家分:21040]  发布于 2010-07-15 23:29:00				
				字符串是以'\0'结尾。
							 
						
				4 楼
				
					 alweeq86 [专家分:1170]  发布于 2010-07-15 23:50:00
alweeq86 [专家分:1170]  发布于 2010-07-15 23:50:00				
				
[code=c]
 main()
{
    printf("%d\n",strlen("a\0\"\x41"));
}
[/code]
这个结果是1  你要能想明白这个 就能想明白那个为什么是ab了
							 
						
				5 楼
				
					 kunting [专家分:0]  发布于 2010-07-16 14:24:00
kunting [专家分:0]  发布于 2010-07-16 14:24:00				
				我也学习了一下下
							 
						
				6 楼
				
					 kongleung [专家分:0]  发布于 2010-07-17 12:51:00
kongleung [专家分:0]  发布于 2010-07-17 12:51:00				
				发贴就是不懂才发的,有人愿意指教最好了。谢谢各位!
							 
						
				7 楼
				
					 雪光风剑 [专家分:27190]  发布于 2010-07-18 07:03:00
雪光风剑 [专家分:27190]  发布于 2010-07-18 07:03:00				
				%s不做边界检查,穷举到第一个'\0'才停下,这点要注意,所以一般字符串(尤其是指针形式存储)在用的时候一定要注意检查末尾是否有这个结束符
							 
						
				8 楼
				
					 幻水hs [专家分:30]  发布于 2010-07-21 18:21:00
幻水hs [专家分:30]  发布于 2010-07-21 18:21:00				
				
是遇到的第一个\0 结束符号 结束的
							 
						
				9 楼
				
					 moke9 [专家分:30]  发布于 2010-09-02 07:36:00
moke9 [专家分:30]  发布于 2010-09-02 07:36:00				
				你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846
							 
									
			
我来回复