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