我做C語言有個題目不會。。想問問各位大俠拜託了。。為什

2021-03-19 18:37:05 字數 2192 閱讀 4631

1樓:半島殤

注意fun函式的兩bai個形式引數,第du一個是指zhi針傳遞是把變數daob地址傳遞給子函式,即子函式中的回變數b指向存放字元答a的地址,與主函式中變數b指向的是同一位置,因此在子函式那個語句能夠改變主函式中b的值,只是指標形參的一個用法,第二個形參就不用多說了把,子函式中形參的變化不會引起主函式中變數變化,因為使用的不是同一記憶體空間!所以呼叫子函式會輸出bb,主函式中輸出語句會輸出ba!樓主能懂吧?

不懂的話繼續問哦!

2樓:

#include

void fun (char*c,int d)

{*c=*c+1;//把c所指向的

3樓:匿名使用者

先執行主函

來數,把源

變數b的地址以及變數baia的值傳給函式fun,由於du對變數zhic的處理是在處理b變數dao地址裡的內容,因此對其加1,就是給分配給b的空間裡的變數ascii加1,也就是a+1,為b,傳變數a的值給函式的意思是給變數d分配一個空間,然後將a的值拷入其中,因此對變數d的改變不影響變數a的值,故fun執行完以後變數b和a裡面分別儲存的是b和a

4樓:匿名使用者

選baia

呼叫fun(&b,a)時,傳遞的是b的引用和dua的值,在fun()中,會zhi改變daob的值,但不能改變a的值。

故在內fun()中輸出的容是b,b,而在main函式中,b的值變了,而a的值沒變,故輸出b,a

所以答案為:b,b,b,a

5樓:匿名使用者

--fun(&b,a)指的是把baib的地址,和du變數a的值賦給fun()函式zhi中的形參c和a

--fun(char *c,intb)指的是c是一個dao指標變數是用版來存權地址的這與把&b放如其中一致注意這裡的*c和下面的*c不是同一個意思,上面char *c 是說c這個變數是指標變數,是用來解釋的定義,而下面*c=*c+1,這裡的兩個*c 都是隻把c所指向的變數加一然後存到所指變數中相當於

a=a+1,其實d=d+1也是a=a+1不同的是c語言規定因指標變數(如c)所指向而參與運算的變數(b)在功能函式(被呼叫函式)呼叫後值跟著變;

而變數(如b)在功能函式中值的改變並不改變原來變數(a)的值

6樓:匿名使用者

函式func傳進去

來第一個為指標源

,第二個引數為變數。

在呼叫函bai數時候,形du參並不是傳入的實際值,zhi而是會在棧裡,dao生成一個臨時變數來,存放實際傳入的值也就是說相當於

void fun (char*c,int d)//執行玩這個函式後,傳入指標的變數大小被改變,傳指的函式大小不變。

此時a = 『b』 a = 『b』

所以選a

7樓:匿名使用者

函式func傳進抄去第一個為指標襲,第二個引數bai為變數。

在呼叫du函式時候,形zhi參並不是傳入的實際值,而dao是會在棧裡,生成一個臨時變數來,存放實際傳入的值也就是說相當於

void fun (char*c,int d)//執行玩這個函式後,傳入指標的變數大小被改變,傳指的函式大小不變。

此時a = 『b』 a = 『b』

所以選a

8樓:百讀不饜

這裡有傳址和傳值的概念

第一個引數char *c是將變數b的地址賦值給了指標c,當指標c指向的數值發生變化時,變數b也會發生變化

而第二個引數d是將變數a的值賦值給了變數d,所以d的變化不會影響到a

c語言,這道題答案為什麼是123.4600而不是123.4617?求詳細告知

9樓:匿名使用者

123.4567*100+0.5的結果是12346.

17,強制型別轉換的優先順序大於/,也就是說先取整後進行除法運算,則最後的結果為12346/100.0,即123.46000

10樓:匿名使用者

x*100+0.5 = 12346.17

被強轉成整型變成12346

除以100.0又轉換成浮點型,所以結果位123.4600

11樓:匿名使用者

x*100+0.5=12346.17

然後int取整就變成了12346

再除100,結果是123.46

有幾個c語言的題目不會做,求高手幫忙啊,急急急

第一題 int a 10 i for i 1 i 10 i a i i for i 1 i 10 i printf d,e68a8462616964757a686964616f31333330333538 a i for i 1 i 5 i a 10 i 1 a i for i 1 i 10 i p...

麻煩看個C語言的題目,我自己寫的和答案的個人認為本質無區別可是結果不對

void fun char tt,int pp 在主函式中,aa存放的是字元吧,然後aa給char tt,bb給int pp,所以你這裡錯誤了 for i 0 tt i 0 i if tt i a tt i z pp tt i a 1 你應該改為 if tt i a tt i z pp tt i a...

我有個親戚得了白癜風幾年了,想問問各位有沒有什麼好的意見和治療方法

你好,武漢中醫白癜風醫院為你解答 白癜風是慢性病,起來比較棘手,需要長時間的配合 只要找到白癜風的發病誘因,對症對因 選擇最佳 時期,堅持 白癜風是完全能 的。最先進的方法不一定是最適合你的 方法,找到一種最適合自己的 方法才是重要的。建議你親戚不要盲目 以免加重病情。無論 什麼病,都需要找到致 素...