空闲时候思考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代表空格),用数字串匹配字符串 * 思路:获得用户输入,判断是不是纯数字串,如果是这拼接正则表达式,和各个字符串匹配 * ...

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

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

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

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

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

562 - Dividing coins Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlin...

乐视面试题一个数组,找出数组中没有出现的最小的一个数字,比如[1,2,0],返回3,[1,2,4,5]返回3

From: http://www.cnblogs.com/baiyanhuang/archive/2011/02/10/1950443.html 这是在TL讨论中Liu xinyu给出的一个...

查找介于n1与n2(0<n1<n2<32768)之间所有满足下列条件的整数: (1)该数的十进制表示中有且仅有两个相同的数字位; (2)该数是素数。

查找介于n1与n2(0到32768)之间所有满足下列条件的整数: (1)该数的十进制表示中有且仅有两个相同的数字位; (2)该数是素数。// author:yangyang //main.c #i...

0使2用3J4A5V6A7数字证书做数字签名认证

1.  keytool -genkey -keystore chinajavaworld.keystore -alias chinajavaworld  这个命令用来产生一个密匙库,执行完毕后...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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