if pchar0 是什麼意思,if p char 0 是什麼意思

2021-04-12 07:18:53 字數 3119 閱讀 9612

1樓:匿名使用者

就是說p是乙個char型指標,如果它指向null也就是空指標,括號內bool表示式值為true,執行if後的**塊,否則跳過之

2樓:匿名使用者

從你給的這個資訊看出,p是乙個指標,並且是 char型的。也就是這樣定義的:char *p;

p的值如果為0的話回,表示無任何指答向。

null是乙個巨集 實際上是 (void *)0整個語句的意思:

判斷 p 的值是否為 0,也就是判斷p有沒有指向某個區域,如果有指向,這個if語句將不成立

(char *)0 :強轉0,只是為了保證 與 p的型別保持一致。好比較。這樣的**很規範。

如果我寫話,我會寫 if(p==null)

3樓:

只能說寫**的人太爛了 if(p)就可以了

char *p=null; if((p=(char *)malloc(0))==null),第二條語句什麼意思??

4樓:gta小雞

當malloc函式引數為0時,系統仍會開闢記憶體空間並將乙個有效的位址返回給指標p,但p所指的記憶體空間不可用。通常不會返回null到指標p,除非已經沒有可用的記憶體空間。這個**似乎沒有意義。

5樓:匿名使用者

就是申請一塊堆記憶體唄,賦值給p

6樓:匿名使用者

內0,還是會返回乙個有容效指標

返回指標為null的條件是申請一定大小記憶體,記憶體空間不夠的時候

c語言中if(p=a!=0)是什麼意思

7樓:六月天空中的雨

int p,a=5

定義兩個有符號的整型變數 p,a,並且對a賦值5if(p=a!=0)

分兩步 從右到左

1、a!=0 是判斷a是否等於0

若等於 返回 0

若等於 返回 1

結果是不等於 返回了 1

2、p= 返回值 也就是 p=1

3、這時候,再判斷 if(p) 判斷結果為真,所以輸出p的值 ,為10分數。。。。。。暈不暈呀,不厚道~

8樓:

這個 你要了解 運算子的 優先順序問題

請看 運算子優先順序 列表

!=的優先順序 明顯高於 賦值運算子

所以p=a!=0的計算順序是 p=(a!=0)(可以這麼理解)a的值是5,所以a!

=0必然是 真 所以 p被賦值1而if的判斷條件 變成 if(p=1)即 if(p),即if(1)所以 會執行printf(" %d\n",p) ;

所以輸出 1

9樓:回首千尋

(p=a)!=0就是將a的值付給p,判斷p不等於0,等價於 a!=0,當然不等啊,a等於5啊

10樓:

int p 為定義變數p

a=5 定義變數a,並賦值a等於5

if(p=a!=0) a!=0賦值於p

因為a!=0為真,所以賦p值為1

11樓:匿名使用者

正確答案是1.p賦值是對所以是1

if(p=a!=0)是什麼意思啊?

12樓:匿名使用者

if( p = a !

= 0 ) // 由於bai != 的優先順序du比 = 的優先順序要高

zhi,所以dao先運算 a != 0

因為 a = 5,所以 a != 0為真,即 a != 0的結果專為 1

然後執行 p = 1

p = 1 不是屬乙個邏輯表示式,只是乙個賦值語句,所以應該是將 p 的值作為判斷的依據,如果 p 為 0 則為 假, p 不為 0 則為真.

因為上面的 p = 1,所以條件為真,所以應該輸出printf("%d\n",p);

結果應該為 1

13樓:匿名使用者

a!=0判斷邏輯表示式的值真假,a=5確實不等於0,結果是真的,所以p的值就為1,就列印1,否則就列印2(0+2)

c語言中if (! p )是什麼意思?急!!

14樓:匿名使用者

c語言中%p用來輸出指標型別自身的值。

也就是說 %p用來輸出位址。

一、使用方法:

%p一般僅用於printf及同類函式中。形式為printf("%p", varp);

其中後續引數varp為某乙個指標變數。如

int a,*p;

p=&a;

printf("%p %p", p, &a);

這裡輸出的p和&a都是int*型。

二、功能:

%p格式符會輸出指標本身的值,也就是指標指向的位址值。

該輸出為16進製制形式,具體輸出值取決於指標指向的實際位址值。

三、與%x區別:

%x同樣輸出16進製制形式,不過%x對應的是int型,也就是說,其輸出長度與系統int型佔的位元組數相等。如32位編譯器,int型佔4位位元組,那麼%x輸出的結果最多為16個16進製制字元。

而%p輸出寬度取決於系統位址匯流排位數,即16位最多輸出4位16進製制字元,32位最多輸出8位16進製制字元,64位最多輸出16位16進製制字元。

所以用%p輸出位址,相對於用%x輸出,可以有更好的移植型和適應性,不會因為更換平台而引起錯誤。

15樓:匿名使用者

!是取反的邏輯運算,如果p不等於0,則!p為假,p等於0,則!p為真,

參考**如下:

#include

main()  else

p=5;

printf("p=%d\n",p);

if(!p)  else

}執行效果如下:

16樓:匿名使用者

c語言中if()是條件判斷語句,其中括號裡的值如果是0的話不成立,非0的話成立。

c語言中!是非的意思,!p也就是非p。

所以這行**的意思就是如果p成立就不執行if後的**,p不成立則執行if後面的**。

17樓:使用者名稱都是渣渣

等價於if(p==0)

c 中0」是什麼意思,C 中 0 是什麼意思?

是字串結束的標誌,也代表你這個字串為空,0的ascii碼也為0,這是字串的知識,不懂歡迎追問。c 中 0 是什麼意思?所有的ascii碼都可以用 加數字 一般是8進製數字 來表示。而c中定義了一些字母前加 來表示常見的那些不能顯示的ascii字元,如 0,t,n等,就稱為轉義字元,因為後面的字元,都...

ifne 0then 是什麼意思

表示上一條命zhidao令返回值,0表示第乙個引數,ne表示不等於。這是unix的shell程式設計語句,如果上一條命令執行度後的結束 不是0則執行下面的命令,知道fi行之前。如果上一條命令成功執行,返回0,否則返回1.ne 0 表示如果 的值不等回於0,則上一條答命令沒有執行。此處應該是 ping...

絕對0度什麼意思,0度表示什麼意思?

當在絕對零度時,時間會停止。這個問題到底是對的還是錯的?至今還是有爭議。正方認為 時間會停止 絕對零度在宇宙中是存在的,在宇宙的某些地方,當巨大的能量被黑洞吸走時產生絕對零度,由於時間也是一種能量形式,所以在那一刻,時間也是停止的。宇宙中有存在絕對零度的地方,甚至有低於零度的地方,那些低於零度的情況...