C语言中,0有几种表示方法?

Python011

C语言中,0有几种表示方法?,第1张

只是用原码表示的时候0有两种表示

(假设用4字节表示)

+0:

00000000

00000000

00000000

00000000

-0:

10000000

00000000

00000000

00000000

因为原码的最高为符号位:0表示正,1表示负

而C语言的编译其里面0都是用补码表示的

补码的0只有一种表示:

00000000

00000000

00000000

00000000

你可以这样测试下

void

main()

{

int

a=-0

int

b=+0

}

看看a和b的内存表示,全部是0

关于原码,反码,补码如果不懂可以自己找找资料。

“”在c语言中代表“字符串结束符”。“”的ASCII码为“0”,也就是空字符;字符串总是以“”作为串的结束符;因此当把一个字符串存入一个数组时,也把结束符“”存入数组,并以此作为该字符串是否结束的标志。

c语言中'\0'是字符串的结束符,任何字符串之后都会自动加上'\0'。如果字符串末尾少了‘\0’转义字符,则其在输出时可能会出现乱码问题。这个'\0'是占一个位置的,所以如果一个长度为20的字符串要放在一个字符串数组里面的话,这个字符串数组长度至少为21。

'\0'的意思是 ASCII 为 0 的字符。

它所的意义是“字符串结束符”。

比如,一个字符串 "Hello" ,它是由字符 'H','e','l','l','o','\0' 6 个字符在内存中连续存放的。程序在见到第一个 '\0' 时就会认为该字符串结束了。