C語言中,這條語句是什麼意思,c語言中,這個語句是什麼意思啊?

時間 2021-10-14 23:49:04

1樓:自我程式設計

這叫遞迴函式(自己呼叫自己)。遞迴只有執行到呼叫自己的地方,就會進入下一層。一層一層巢狀,直到某一層不再執行呼叫(對應這題就是n>1不成立的那一層)。

然後,從最後一層往前返回。

執行流程如下:

1、執行sum=fun(a+2,4);這裡把a首地址往後偏移2位的陣列傳入(既3,4,5......的陣列)。

所以,這裡a[0]是3,n是4。n>1成立,執行呼叫進入下一層。

2、執行a[0]+fun(a+1,n-1);傳4開頭的陣列,a[0]是4,n是3,成立,下一層。

3、同上,傳5開頭陣列,a[0]是5,n是2,成立,下一層。

4、同上,傳6開頭的陣列,a[0]是6,n是1,不成立,執行return a[0];

之後從最後一層往前返回:

4、返回a[0],也就是6。

3、返回a[0]+6,也就是5+6=11。

2、返回a[0]+11,也就是4+11=15。

1、返回a[0]+15,也就是3+15=18。

2樓:匿名使用者

這個是遞迴,自己呼叫自己

如果不懂遞迴自己去惡補下吧,學程式設計,遞迴是基礎中的基礎

3樓:匿名使用者

fun(a+2 , 4)

=3+fun(a+3,3)

=3+4+fun(a+4,2)

=3+4+5+fun(a+5,1)

=3+4+5+*(a+5)

=3+4+5+6=18

c語言中,這個語句是什麼意思啊?

4樓:周大個子

tp = a;a = b;b = tp是交換了ab的指向,不影響主函式,t = *a;*a = *b;*b = t是改變了地址上的值,也就是把i和j的值互換。

所以函式中*a*b的輸出對應是j=3,i=7,主函式輸出ij這個沒什麼好說的,*p和*q還是ij的值。

5樓:day桃子

1)加*交換的是地址,會改變主函式中i和j的值,swap交換的是i和j的地址

2)不加*,不會改變i,j的值,i和j把自己的數值傳遞給swap函式中形參a,b,其交換的是a,b的值,對i和j無影響。

4) 總結:相當於你在main函式裡申請一個變數int i,它在swap函式裡是沒有這個變數i的,它們只在自己的函式裡有效。也就是說,交換的值只在swap函式裡有效,如果不用指標*的話交換,這時你也可以把swap函式返回值void改為int(即把i和j交換後的值返回到主函式)

5)對與你上面的註釋:註釋是對的,那兩種交換都會改變swap函式裡的a,b值,但申請的中間變數指標交換後不會改變i和j的值。中間變數一般不會使用指標,因為沒有賦初值的指標是野指標,它會亂指地址導致結果出錯,引數a,b指標接收了main函式中的值

6樓:黨雅徐芃

就像while(!x)

等歎號前面什麼也沒有,只有後面有一個變數或函式的東西表示的是什麼意思啊?

while迴圈,先判斷while後面的「()」裡面的表示式,如果真,則執行後面的迴圈體語句,否則結束迴圈。這裡的x是一個自定義的變數,!x的意思是根據x的值取反,如果原來x是非0值,則表示式的值為假,就不執行迴圈,如果x是0,!

x就是1,執行裡面的語句。

7樓:同樹菅鴻風

刪除d盤裡面的card.dat這個檔案

8樓:聊遠定洋

對於條件表示式b?x

:y,先計算條件b,然後進行判斷。如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。

一個條件表示式絕不會既計算x,又計算y。條件運算子是右結合的,也就是說,從右向左分組計算。例如,a?

b:c?d

:e將按a?b

:(c?d

:e)執行。

《表示式1>

?《表示式2>

:《表示式3>;

"?"運算子的含義是:先求表示式1的值,如果為真,則執行表示式2,並返回表示式2的結果;如果表示式1的值為假,則執行表示式3,並返回表示式3的結果。

可以理解為條件

?結果1

:結果2 裡面的?號是格式要求。也可以理解為是不是條件成立,條件成立為結果1否則為結果2。

注意:在c語言中,結果1

和結果2的型別必須一致。a?

b:c簡單理解方式為:

if(a) else

在C語言中是什麼意思,C語言中 c 是什麼意思?

勢如雲 這是c語言的邏輯運算子 異或 這個 講的非常詳細,我摘抄了一些,詳細的你看以看看。有很例子,好懂!邏輯運算子把各個運算的變數 或常量 連線起來組成一個邏輯表示式。邏輯運算子有4個,它們分別是 邏輯非 邏輯或 邏輯與 異或 在位運算裡面還有 位與 位或 的運算。什麼是邏輯運算 邏輯運算用來判斷...

C語言中 是什麼意思,C語言中 和 是什麼意思

藝蝸楓 c語言中 是複合賦值運算子。複合賦值運算子就是在簡單賦值符 之前加上其它運算子構成,例如 即 a 1 等價於a a 1。的意思就是把左邊的第一個符號移到右邊,其實就是b b c的意思。直接把b c的b 移到右邊,將b的值取出再取出c的值,相加然後賦給b,儲存在b開闢的記憶體空間中,類似的還有...

c語言中sizeof是什麼意思,C語言中sizeof是什麼意思

肥仙女 sizeof是c語言中保留關鍵字,也可以認為是一種運算子,單目運算子。常見的使用方式 int a 10 int arr 1,2,3 char str hello int len a sizeof a int len arr sizeof arr 結果是 len a 4,len arr 12,...