c語言問題。急求詳細解答,C語言問題。急求詳細解答!!

時間 2021-10-15 00:01:04

1樓:與影

第一個呼叫把i/2的值傳遞給fun2的形參,而形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數,所以呼叫結束後i的值並未改變。

雖然fun2的返回值是處理後的i,但是由於並未將函式呼叫的結果賦給某一變數,所以此次函式呼叫對主函式內的變數無影響。第二個呼叫是把i=i/2的值傳遞給fun2的形參,即有把i/2的值賦給i這一運算,所以此時主函式中的i值為2.第三次呼叫過程與第一次相同,故i不變。

第四次呼叫fun1,在函式運算的過程中,執行了輸出語句故輸出運算後的結果:4.函式呼叫結束後,記憶體釋放,依然對主函式中的i值無影響。

2樓:匿名使用者

第一個fun2沒有對i改變,輸出5

第二個fun2i變為2,所以輸出2

第三個沒有對i改變,輸出2

fun1將i/2做引數傳入,沒有對i值改變所以輸出4 和2

3樓:

兩個函式傳遞進去的都是形參,並沒有改變main的i,

main裡面列印的輸出都是5,

func1的(i%i)已經是0了,所以func1列印的是4

4樓:

樓主你想問關於這個程式的什麼地方?

急求c語言高手解答三個題目!!!詳細說明最好!!!

5樓:匿名使用者

malloc在沒有足夠空間申請的時候會返回null,也就是0

因為&是取址運算子,注意,是運算。最後的q-p實際上等於q地址-p地址的偏移量,系統很智慧的給出了偏移5個int

realloc才可以在執行時改變空間的大小(陣列的大小)

6樓:與科技苦於

malloc給你的是地址,0地址就是null,while(1)一直執行,直到沒有記憶體可以申請,就返回null,此時p的值就為null,下面的語句向0地址寫入資料,程式就會終止

a[5]沒越界...就算越界了,比如a[6],雖然越界了,可不代表它沒有值,但他的值是不確定的對!

7樓:

1, malloc無空間時返回null,即0. 當指標指向0地址時,則是空指標,這裡是不允許直接寫入的。所以或奔潰退出

2. 陣列a的大小是6,因為5後面還有個逗號。 q指向第六個元素,p指向第1個元素,兩個整型指標相減為5.

3. 大小不是你想變,想變就能變。 一旦分配就不能再改變分配空間的大小了(除非釋放後重新分配)

8樓:匿名使用者

malloc返回連續的儲存單元的首地址  0地址不可用。

a陣列實際元素為 1 2 3 4 5 0 所以a[5]存在 地址差為5。

陣列一旦定義了,整個大小都不能變。 但是可以在程式執行時確定陣列長度(使用動態聯編定義動態陣列)

**急求c語言程式設計問題!!!!!!!!!!!!!

9樓:刀無極啊

#include

int main(void)

printf("\n");

}return 0;}

** 急求c語言程式設計問題!!!!!!!!!!!!!!!!!!!!

10樓:夜禮服假面

int main()}

11樓:匿名使用者

#include "stdio.h"

void main()}

急求一道簡單c語言題目解答過程!!!

12樓:匿名使用者

你可以這樣理解:

把a,b看成是逗號運算式 ,它的結果為b的值,而printf輸出的是這個式子的值,即b值

13樓:高金山

沒有什麼好解釋的

這個句子本來就是不正確的,就看編譯器是如何理解了

我用vc6,輸出的b)666

14樓:匿名使用者

printf函式是從右向左執行的,只輸出一個結果,所以只輸出b值,而不是按照先輸出a,再輸出b,這個順序執行的

15樓:

一樓fantasydb理解有誤。

printf()函式對輸出表中的各量求值的順序是自右向左進行的,但是輸出的順序還是從左向右。

這是楊健霑主編的《c語言程式設計》書上57頁的原話。

列印出來的結果應該是666而不是888.

C語言問題求大佬解答,C語言問題求大佬解答

哼呀弟 strcpy char destination,char source 將 source字串複製到到 destination記憶體空間 首先strlen str1 2 6 str1 strlen str1 2 str1 6 str 6 的地址,也就是從 how doyou do 字串的第七個...

C語言問題,求大佬解答,C語言問題,求大佬解答

宇稱 把文字改一下,及上邊數字以及陣列改一下,c語言題目求大佬解答 3 2 3 1 2 解答 注意,全域性變數的a和函式形參區域性變數的a是不同的,主函式裡面的a指的是全域性變數的a。不管是字首自增還是字尾自增,a始終都要加1再輸出,故主函式裡的結果是a 2。a表示a先加1再進入函式運算,此時f a...

c語言問題求大神解答,C語言問題,求大神解答

a 用結構體定義以下學生資訊,結構體名 student 學號 姓名和成績 包括3門課程的成績,可用一個陣列表示 struct student c語言問題,求大神解答! 奔安 include include include typedef unsigned int uint typedef struc...