空闲时候思考2('\0'等价于数字0还是字符0)

原创 2015年07月07日 22:51:02
/**********************************************************************      
* *   Copyright (c)2015,WK Studios    
* *   Filename:  A.h  
* *   Compiler: GCC  vc 6.0     
* *   Author:WK      
* *   Time: 2015 6 7  
* **********************************************************************/  
#include<iostream>
using namespace std;
void main()
{
	char a[100]={'0',48,48,0,0,'0'};
	char b[]={'0',48,48,0,0,'0'};
	char c[]={'0','0'};
	char d[]={0};
	//注意一下数字0与字符'0'区别
	//'\0'等价于数字0而不是字符0
	cout<<sizeof(a)<<endl;
	cout<<strlen(a)<<endl;
	cout<<sizeof(b)<<endl;
	cout<<strlen(b)<<endl;
	cout<<sizeof(c)<<endl;
	cout<<strlen(c)<<endl;
	cout<<sizeof(d)<<endl;
	cout<<strlen(d)<<endl;

运行结果:

100

3

6

3

2

7

1

0

不行的话再看一个:

#include <iostream>
using namespace std;


void example()
{
	int i;
	char acNew[20];
	for(i = 0; i < 5; i++)
	{
		acNew[i] = '0' ;
	}
	printf("%d\n",strlen(acNew));
	return ;
}

void main()
{
	example();	
}
结果是一个随机的值,因为strlen没有找到结束的表示符‘\0’

稍微改动一下:

#include <iostream>
using namespace std;


void example()
{
	int i;
	char acNew[20];
	for(i = 0; i < 5; i++)
	{
		acNew[i] = 0 ; // '\1'  0
	}
	printf("%d\n",strlen(acNew));
	return ;
}

void main()
{
	example();	
}

这次结果是0


版权声明:本文为博主原创文章,未经博主允许不得转载。

【揭秘】linus当年创立linux的过程--0x2,什么时候脱离的minix

慢慢加吧 http://www.cs.cmu.edu/~awb/linux.history.html

我的java之路——按照电话机表盘数字与字符的对应关系(这里用数字1而不是0代表空格),用数字串匹配字符串

/* * 需求:按照电话机表盘数字与字符的对应关系(这里用数字1而不是0代表空格),用数字串匹配字符串 * 思路:获得用户输入,判断是不是纯数字串,如果是这拼接正则表达式,和各个字符串匹配 * ...

使用BeautifulSoup爬取“0daydown”网站的信息(2)——字符编码问题解决

上篇中的程序实现了抓取0daydown最新的10页信息,输出是直接输出到控制台里面。再次改进代码时我准备把它们写入到一个TXT文档中。这是问题就出来了。 最初我的代码如下: #-*- coding: ...

cocos2d-x 为CCEditBox添加纯数字0到9的键盘输入类型并讲解其使用

欢迎各位童鞋转载,转载请注明出处:http://blog.csdn.net/song_hui_xiang 作者新浪微博:http://weibo.com/u/3168848533 作者腾讯微博:h...

【数字摘要算法】SHA算法(sha-0/sha-1/sha-2)

SHA-1   SHA 家族   SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院 (NIST) ...

Cocos2dx 3.0rc0 漂亮的 数字、英文显示

1、LabelTTF LabelTTF适合于一次性创建文本后基本上不再改变其显示信息的情况。 CCLabelTTF可以使用setString()函数改变文字内容,而这个时候会创建一个新的o...

有一个四位数 a1a2a3a4,每一位数都是0到9之间的一个数字(多种解法)

有一个四位数 a1a2a3a4,每一位数都是0到9之间的一个数字(多种解法)

hdu2767 等价性证明(求强连通分量缩点后的出度和入度为0的个数)

Proving Equivalences Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth...
  • update7
  • update7
  • 2017年04月25日 13:46
  • 25531

UVa 562 Dividing coins (0-1背包&等价转化)

562 - Dividing coins Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlin...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:空闲时候思考2('\0'等价于数字0还是字符0)
举报原因:
原因补充:

(最多只允许输入30个字)