Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12876901
  • 博文数量: 1293
  • 博客积分: 13501
  • 博客等级: 上将
  • 技术积分: 17974
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 18:11
文章分类

全部博文(1293)

文章存档

2019年(1)

2018年(1)

2016年(118)

2015年(257)

2014年(128)

2013年(222)

2012年(229)

2011年(337)

分类:

2012-10-31 17:23:00

一、案例代码


  1. #include <stdio.h>
  2. #include <string.h>

  3. int main(int argc,char** argv)
  4. {
  5.     char s1[] = "abcd0xyz";
  6.     printf("s1 is %s\n",s1);

  7.     char s2[] = "abcd\0xyz";
  8.     printf("s2 is %s\n",s2);

  9.     return 0;
  10. }

输出结果:
image 
 
二、案例分析
由上面可得,\0与0在计算机内部是完全不同的两个东西。
‘\0’代表空字符,是字符串与字符数组的结束标志,它的assii码值为0;
字符‘0’的assii码值等于32,不能做为字符串结束标志。
故abcd0xyz会原型输出;而abcd\0xyz遇到\0则断开。
 
阅读(2608) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~