【c语言】字符0跟'\0'是不一样的

// 字符0跟'\0'是不一样的

#include <stdio.h>

int main()
{
	int i;
	char acNew[20];
	for (i = 0; i < 5; i++)
	{
		acNew[i] = '0';
	}
	printf("%d\n", strlen(acNew));
	//结果会是个随机值,strlen遇到\0才会停,遇到‘0’是不会停的
	return 0;
}
// 看结果可能在第29个位置上才遇到了‘\0’

<img src="http://img.blog.csdn.net/20150508164910113?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3lhcWlhbjU1Mg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

【c语言】字符0跟'\0'是不一样的

时间: 2024-08-05 12:07:49

【c语言】字符0跟'\0'是不一样的的相关文章

深入理解c语言——‘\0’ ,‘0’, “0” ,0之间的区别

看来基础还是很重要的,基础不扎实就难以学好c语言,就别说写出高质量的c语言代码了.今天,我就被这个问题折磨的不行了,哈哈,不过现在终于明白了'\0' ,'0', "0" 之间的区别了.困惑和快乐与你分享! 首先比较一下'\0'和'0'的区别.有一个共同点就是它们都是字符,在c语言中,字符是按其所对应的ASCII码来存储的,一个字符占一个字节.请翻开你的ASCII字符集表吧,一般在你的C语言教材的附录上,没有的话网上查查哦.请看第一个ASCII码,对是0,对应的字符是(Null),其实就

c语言——‘\0’ ,‘0’, “0” ,0之间的区别

字符'\0' ASCII码为0,对应的字符是(Null),其实就是'\0',即空字符. 判断一个字符串是否结束的标志就是看是否遇到'\0',如果遇到'\0',则表示字符串结束. 字符'0'对应的ASCII码是48,48对应的十六进制数就是0x30. 将'8'转换为数字8,在语句中这样写就可以了," 8+'0' ".这里的8就是数字. 字符'0'和数字0的区别:前者是字符常量,后者是整形常量,它们的含义和在计算机中的存储方式截然不同. 但是字符常量可以像整数一样在程序中参与相关运算. &

C# 语言规范_版本5.0 (第0章 目录)

C# 语言规范 版本5.0 注意 © 1999-2012 Microsoft Corporation.保留所有权利. Microsoft.Windows.Visual Basic.Visual C# 和 Visual C++ 是 Microsoft Corporation 在美国和/或其他国家/地区的注册商标或商标. 本文提及的其他产品和公司名称可能是其各自所有者的商标. 目录 1. 介绍......................................................

Swift2.0语言教程之Swift2.0语言中的标准函数

Swift2.0语言教程之Swift2.0语言中的标准函数 Swift2.0中的标准函数 函数除了可以根据参数列表的有无分为无参函数和有参函数,还可以从定义角度分为用户自定义函数和标准函数两种.以上的示例都是用户自定函数.Swift提供了74个标准函数,这些函数都可以直接去使用,不需要进行定义.本节将针对常用的标准函数进行详细的讲解. Swift2.0中的绝对值函数abs() abs()函数的功能是求数值的绝对值.其语法形式如下: abs(数值) 函数的返回值是一个零或者正数. [示例7-17]

Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7) 【转】

原文地址:Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://blog.chinaunix.net/uid-25909619-id-4938390.html 在构架相关的汇编代码运行完之后,程序跳入了构架无关的内核C语言代码:init/main.c中的start_kernel函数,在这个函数中Linux内核开始真正进入初始化阶段, 下面我就顺这代码逐个函数的解释,但是这里并不会过于深入

(转)C语言中长度为0的数组

前面在看Xen的源码时,遇到了一段代码,如下所示: 注意上面最后一行的代码,这里定义了一个长度为的数组,这种用法可以吗?为什么可以使用长度为0 的数组?长度为的数组到底怎么使用?……这篇文章主要针对该问题进行简单的讲解.废话不多说了,现在就开始. 长度为的数组在标准c和c++中是不允许的,如果使用长度为的数组,编译时会产生错误,提示数组长度不能为.但在GNUc中,这种用法却是合法的.它的最典型的用法就是位于数组中的最后一项,如上面所示,这样做主要是为了方便内存缓冲区的管理.如果你将上面的长度为的

字符&#39;0&#39;和&#39;\0&#39;,及整数0的区别

字符'0':char c = '0';   它的ASCII码实际上是48.内存中存放表示:00110000 字符'\0' : ASCII码为0,表示一个字符串结束的标志.这是转义字符. 整数0 :ASCII码为0,字符表示为空字符,NULL:数值表示为0:内存中表示为:00000000 ASCII码对照表可见如下链接: http://www.asciima.com/ 百度知道:字符0和整数0区别 http://zhidao.baidu.com/question/351626505.html 字符

字符0、数字0和‘\0’

字符0.数字0和'\0'的区别 Bin(二进制) Oct(八进制) Dec(十进制) Hex(十六进制) 缩写/字符 解释 0000 0000 0 0 00 NUT(null) 空字符 00110000 60 48 30 0 字符0 ASCII码中 十进制数 0 表示空字符,空字符就是平时所说的 '\0'. 字符 0,ASCII码值为 十进制数 48,如:"012" 字符串中的 0 表示字符 0. 数字 0, 所说的数字 0,就是平时说的十进制数字 0,在字符串中表示 '\0',即空字

【c语言】有一函数:x &lt; 0 ,y = -1;x = 0,y = 0;x &gt; 0,y = 1,编程输入一个x值,要求输出对应的y

// 有一函数:x < 0 ,y = -1;x = 0,y = 0;x > 0,y = 1,编程输入一个x值,要求输出对应的y #include <stdio.h> int main() { int x,y; printf("请输入x:"); scanf("%d",&x); if(x > 0) y = 1; else if(x < 0) y = -1; else y = 0; printf("对应的y值是:%d\