C語言中的0與0有什麼區別,c語言中「!0」和「!!0」是什麼意思?

2021-08-08 16:47:56 字數 2952 閱讀 8723

1樓:蒼飛陽帛蒼

型別不一樣

0是整形

用%d輸入輸出

『0』是字元型

用%c輸入輸出

再應用的時候具體運算也不一樣

例如十進位制運算a=10+0=10

自負運算的話b=『0』+10=58

按『0』的ascii碼值48計算

2樓:包昊碩紅藝

在c語言中,0和'0'的區別,有很多.

儲存空間方面,整數0可以佔,2位元組(int)或4位元組(long)但是字元'0'只佔1個位元組.(char)

在邏輯運算值方面,0和非零'0'(ascii碼值為48)是2個主要的區別,比如

!0=1

!'0'=0;

所以說,0和'0'是兩個完全不同的概念!他們之間也有聯絡,就是'0'的整形值是48,而ascii碼0代表空操作.等

等...

3樓:邛英彥焉周

0表是是個整型

'0'表示字元型

兩個區別是在記憶體中佔的空間大小不一樣

4樓:酈秋奚綸

其實應該說"\\"與"\"的區別。

\是轉義字元,後接各種字元,有特殊用處。\\則是輸出乙個\,所以\\0輸出的話就是在螢幕輸出乙個\後面跟個0,\0則在輸出乙個換行,就是把游標下移一行。

c語言中「!0」和「!!0」是什麼意思?

5樓:風景

'\0'是字串的結束標誌,

s[i]!='\0' 這個意思是s【i】是乙個字串,但是這個字串裡面是沒有任何字元的

這個主要是為了區別字元和字串之間的

字元常量佔乙個位元組的記憶體空間。字串常量佔的記憶體位元組數等於字串中位元組數加1。增加的乙個位元組中存放字元"\0" (ascii碼為0)。這是字串結束的標誌。

6樓:己爍種白梅

字串的結束結束標誌,說明已經到了字串的末尾

7樓:雍稷友妮娜

代表的是字元,加單引號的都是字元,其中阿拉伯數字也包含其中,

0123456789,他們都可以是字元,你說的就是0字元

ascii是48

8樓:冷安順樹琪

asiic

碼值0的轉義符,代表空值,一般用作字串的結束標記。

9樓:匿名使用者

!0 就是非0的意思,1表示真,0表示假,因此非0就是真的意思,0就是假的意思,比如:

if (!0)

// 這裡執行,因為!0為真

if (0)

// 這裡不執行,因為0為假

c語言中的0與'0'有什麼區別?

10樓:手機使用者

型別不一樣

0是整形 用%d 輸入輸出

『0』是字元型 用%c輸入輸出

再應用的時候具體運算也不一樣

例如十進位制運算a=10+0=10

自負運算的話b=『0』+10=58

按『0』的ascii碼值48計算

c語言中0與1以及0與非零有區別麼

11樓:達豐

沒有區別。

c語言判斷真假時,以0為假,非0為真,即1也是表示真。

通常使用邏輯變數的做法:

定義乙個int型別變數,當變數值為0時表示false,值為1時表示true。

int flag;

flag = 0;

......

flag = 1;

if( flag )

擴充套件資料:

c99提供了_bool 型,所以布林型別可以宣告為 _bool flag。

_bool依然仍是整數型別,但與一般整型不同的是,_bool變數只能賦值為0或1,非0的值都會被儲存為1。

c99還提供了乙個標頭檔案 定義了bool代表_bool,true代表1,false代表0。只要匯入 stdbool.h ,就能非常方便的操作布林型別了。

舉例:#include

#include

//計算n!,n的值在main中定義

int main(void)

}printf ("%d的疊乘值為 %d \n", n, sum);

return 0;}

12樓:匿名使用者

c中邏輯運算的結果只有兩種:真 與 假, 假用數值表示為0,非0表示為真,一般會用1來表示。

c語言中提供了三種邏輯運算子:

&&(與運算)

||(或運算)

!(非運算)

其求值規則如下:

1) 與運算(&&)

參與運算的兩個量都為真時,結果才為真,否則為假。例如:

5>0 && 4>2

由於5>0為真,4>2也為真,相與的結果也為真。

2) 或運算(||)

參與運算的兩個量只要有乙個為真,結果就為真。 兩個量都為假時,結果為假。例如:

5>0||5>8

由於5>0為真,相或的結果也就為真。

3) 非運算(!)

參與運算量為真時,結果為假;參與運算量為假時,結果為真。例如:

!(5>0)

的結果為假。

雖然c編譯在給出邏輯運算值時,以「1」代表「真」,「0 」代表「假」。但反過來在判斷乙個量是為「真」還是為「假」時,以「0」代表「假」,以非「0」的數值作為「真」。例如:

 5和3均為非「0」值,因此5&&3的值為「真」,即為1。

又如: 5||0的值為「真」,即為1。

13樓:就要吃個鳥

c中0表示假,其他任何非0的值都是真。所以可以用1表示真,也可以用別的值。

14樓:手機使用者

有阿0是錯1及非零是對

空指標和0有什麼區別C語言中空指標0與NULL相同嗎

這是與編譯器有關的.比如byte a 0xff 它的範圍就定死在0 255之間 word b 0xffff 範圍就16位數字,更大.這樣如果強制轉換 成byte,那麼這二個相等,反之強制轉成word當然是後者更大範圍.在我們人感覺來看 a與b同為0但機器編譯後實際上分配的空間是不同的.所以在c語言的...

c語言中,pa與pa,c語言中,pa0與pa0等價嗎

int p a 0 和int p a 0 這兩個?你既然你問問題,你能把問題描述清楚嗎。乙個是整型,乙個是指向整型的指標,當然不一樣。在c語言中,表示式 p a 0 與p a 0 有什麼區別?對於指標來說,p a 0 表示向位址為p的記憶體區域賦值為a 0 p a 0 把變數p的值改為a 0 這個語...

c語言中0x12什麼意思,C語言中0x12什麼意思

就是十六進位制12h,等於十進位制18。具體還與所使用的場合有關。int c 0x12 就等同於int c 18 char c 0x12 就是 ch 18 它是乙個非列印字元 char s 0x12 則它佔用5個位元組,分別是 0 0 x 1 2 0 然而要想用printf s s 或puts s ...