設有如下定義 int pp 100則printfd ,p的輸出結果是100,對麼?為什麼

時間 2021-10-20 12:55:37

1樓:隔壁小鍋

int *p;*p=100;則 printf("%d",p); 的輸出結果是100是不對的,p宣告為一個int型指標,但是沒有指向具體的記憶體空間。

int型別在記憶體中佔用了4個位元組,也就是32位。int型別是有符號的,因此,32位並不會全部用來儲存資料,使用最高位來儲存符號,最高位是0,提示資料是正數,最高位是1,表示資料是負數,使用其他的31位來儲存資料。

2樓:極風之劍

這是不對的,p宣告為一個int型指標,但是沒有指向具體的記憶體空間,賦值操作是非法的,執行時要報錯。

3樓:匿名使用者

首先,你定義了一個指向整型變數的指標p,將100賦值給p,則p指向的就是100這個整型量,所以輸出的p就是100,對的那,我就得

4樓:

錯的,指標p沒有指向變數地址,不可以使用*p

5樓:小汐琴

不對,指標p只有宣告,沒有初始化,不能使用

6樓:九曲青溪

不對,輸入的是地址,而不是值。輸出用 *p,則輸出是100

在實際執行中根本不能執行,你的*p沒有初始化,*p=100,是沒有任何意義的,100給 p指向的地址,p指向的地址不知道。

設有如下定義:int x=10,y=3,z;則語句printf("%d\n",z=(x%y,x/y));的輸出結果是多少?

7樓:匿名使用者

最後一個printf函式的值是x除y的商以整型輸出,裡面的引數是一個逗號表示式,逗號表示式的值為最後一個的值,所以輸出的是x除以y的值,x%y意思是10除以3的餘數為1,x/y意思是x除以y…,%為求餘運算子

8樓:匿名使用者

3嘛 z其實就等於x/y 即3

9樓:匿名使用者

x%y=1;x/y=3

z=(1,3)

輸出的是1!!!

設有如下定義,int x=10,y=3,z; 則語句printf("%d\n",z=(x%y,x/

10樓:匿名使用者

逗號運算子,取後值,因此z=(x%y,x/y)就是z=x/y

z=x/y =10/3 三個都是整形變數,因此是整除運算,z的值為3,printf輸出z的值,結果為3

11樓:聽不清啊

x/y是最後逗號表示式的值,賦給z,也是最後輸出的值。

12樓:big漂亮

%d\n 是說把逗號後的結果以十進位制顯示出來。並換行

z=(x%y,x/y) 是把x/y的值給z (因為是逗號運算子,所以整個值是逗 號後面的值。在這x對y取餘沒有作用。

結果是輸出z的十進位制數。 z是x除y的值。

53、設有如下定義: int x=10,y=3,z; 則語句 printf("%d\n",z=(x%y,x/y)); 的輸出結果是

13樓:匿名使用者

x%y,x/y,逗號運算子,依次執行各表示式,並將最後一個表示式的值賦給z

另外,x/y是整型運算,結果為整型。

x%y=1,x/y=3,將3賦給z,z的值是3選d

14樓:匿名使用者

選擇d逗號表示式的值由最末項決定即x/y,顯然值為3

5. 設有如下定義:int x=l,y=-1;,則語句:printf("%d\n",(x-- & y++);的輸出結果是 5

15樓:0女少女少

這裡關鍵就是 x++ 問題

x=1x++:整個表示式值還是x本身1,但下次再用到x時,x就是2了;

++x:整個表示式值就是2了,x=2;

16樓:匿名使用者

開始x=1 ,y=-1

(x-- & y++) 開始x--=1 真 x變成0

y++=-1 此時y=0 就是 1&-1=0000 0000 0000 0001 &1111 1111 1111 1111=0000 0000 0000 0001=1

設有如下定義 intptr則以下敘述中正確的是

墨汁諾 c。ptr函式返回一個int 型資料 這個才是正確的,理由是int fun 顯然是一個函式說明,fun換為 ptr 則ptr就是指向函式的指標了。int ptr m ptr是一個指向m長度的線性記憶體空間,即m大小的一維陣列 int ptr ptr是一個返回值為int 引數列表為空的函式指標...

設有以下定義 int a,設有以下定義 int a 2 3 , p 3 p a 則對a陣列元素的非法引用是( )

a啊!這位出題先生太忽悠人了,你沒有發現表示式中的a是大寫的嗎?沒定義啊 哈哈 int a 2 3 int p a與int a 2 3 int p 3 a 的區別 int p 3 是陣列指標,指向有三個元素的陣列 p a 0 位址 p a 1 位址 int p是整形指標 p a 0 0 位址 p a...

在C語言中,如果有如下定義 int x 5,y y x 3,x 13 ,x 2則y

x 3,x 13 是一個逗號表示式,結果是最右邊那個表示式x 13的值18。y x 3,x 13 x 2 即y 18,x 2 又是一個逗號表示式,先將y賦值為18,再算x 2等於10。所以y 18。 這題主要就是明白兩個概念 1 逗號表示式將多個子式聯接起來,從左往右計算,整個逗號表示式的值為最後一...