二級C語言,下列程式的輸出結果,二級c語言題目 以下程式執行後的輸出結果是 main() int x 0210 printf X n ,x

時間 2021-06-17 08:04:51

1樓:九劍之上

main()

語句2將&b和a分別傳給fun的兩個形參,b的地址傳遞給形參c,即c指向變數b,*c=*c+1;即*c=’f'+1,ascii碼值為g,故*c的值為g,注意,因為c變數的值是b的地址,*c是對c的解引用,代表了b地址的內容,也即b變數的值,故b變數的值改變為g。fun函式第2句d+=1即d=d+1;語句2中a的值傳遞給fun的d,d=’f'+1,故d的值為g。函式呼叫結束後,區域性變數c與d均被系統**,主函式&b與a的值均沒變,但b的值通過指標操作發生改變,最終a的值仍為'f',b的值變為g。

故輸出如題的結果。

2樓:看灰過來了

主函式main中呼叫fun函式的時候,第一個引數是取變數b的地址,第二個是變數a的值,這樣就導致在fun函式內部操作的實際上就是main中的b的值,而a的值不會在fun中發生改變,它是單向傳輸值。所以導致:

fun中的printf輸出的是*c的值和d的值,也就是main中的變數b的值(這裡b的值已經加1變成g了),d的值是從main中傳過來的a的值再加1之後的值,也就是g

執行完fun後,返回到main中,執行main中的printf函式,輸出a和b的值,a的值沒有發生改變,所以依然是原值,b的值在fun中發生改變為g

3樓:匿名使用者

第一行的輸出要看懂fun這個函式的引數,第一個引數是指標型,&b是把b的地址傳進去,加1是把f的ascii加1,輸出的時候就輸出了g;

d+1也是把f的ascii加1;即g;沒換行繼續輸出a,就是f;

然後換行了在輸出b,在函式中通過指標把b的值已經改變成g;

二級c語言題目 以下程式執行後的輸出結果是_____ main() { int x=0210;printf("%x\n",x); }

4樓:匿名使用者

0210就是八進位制的210

%x就是16進位制輸入或者輸出

所以答案是88

5樓:匿名使用者

8進位制到16進位制88

6樓:小

首先如果真要執行來起來自,那肯定是不行的,畢竟少了標頭檔案;其次,返回的型別(void main()……)

最後,要是這個題目沒有出錯:求解過程是這樣的:0210的二進位制是:11000010;%x表示無符號16進位制,故結果是:c2

最最後還要多說一句,這樣的考題沒什麼意思,並不代表自己在c語言上的能力v!

我錯了,0210的確是八進位制,答案也的確是88.

7樓:匿名使用者

結果為88。

x=0210,等同於x=210,正因為前面有0所以代表的是八進位制,%x代表十六進位制輸出。

c語言問題:下列程式執行後輸出的結果是

8樓:

4,d)正確,選d)——for迴圈呼叫兩次f,第一次調

用返回3(a=c++使a==3),第二次呼叫返回4(由於

回c是static變數,上次呼叫時3賦給a後答c++變c為4)。最後輸出是第二次呼叫後的返回值。

c語言二級考試題及答案

c語言下列程式執行結果int a 7,b

岔路程式緣 下列程式的執行結果是 d include int a 7,b 3 void fun int x,int y main a.4,7 b.7,3 c.2,6 d.8,6 答案選d,原因是 1 首先程式開頭定義的a 7,b 3屬於全域性變數。它在所有函式中有效。2 其次在main函式中又定義了...

c語言二級指標問題,C語言二級指標問題

1 通過二級指標去訪問二維陣列需要先給二級指標分配等同於二維陣列行數的一維陣列指標,然後把二維陣列的每行首地址賦值給對應位置的一維指標上。之後就可以通過二維指標直接訪問了。2 參考 如下,可以看具體註釋輔助理解。include 輸入輸出標頭檔案。include 本程式需要用到malloc free函...

計算機二級c語言標準答案,計算機二級C語言程式設計題閱卷有標準答案嗎?是不是執行結果正確就可以拿全分啊?

清淦崔 1 第1題 m個人的成績存放在score陣列中,請編寫函式fun,它的功能是 將低於平均分的人作為函式值返回,將低於平均分的分數放在below所指定的函式中。答案 int fun int score,int m,int below return k 2 第2題 請編寫函式fun,它的功能是 ...