這2道c語言怎麼做呀。想要詳細的解答

2022-09-04 03:01:54 字數 3138 閱讀 2120

1樓:緣來是我

cbc,

p-s實際上是p指向的內容-s,s是字串首位址p是指標,執行完while迴圈後,p指向c,for迴圈第一次執行時輸出p指向的c

for迴圈第二次執行時p指向b,這時輸出bcfor迴圈第三次執行時,p指向a,這時p-s=0結束for迴圈

2樓:匿名使用者

第一張圖是 c++ 語言**,經過我的實際測試,輸出結果為:cbc#include

int main()

第二張圖是 c 語言**,我認為應該選 b。

經過實際驗證,發現只有 b 選項輸出的結果符合預期,為 10。

#include

int main()

, *p, *s;

for (p = a, s = a; p - a < 10; p ++)

if (*p > *s) s = p;

printf("the max:%d\n", *s);

return 0;}

3樓:匿名使用者

我就說第乙個吧。首先while讓指標指到字串的「\0」

然後for迴圈一開始p--是指向最後乙個字母「c」

p-s也就是p的位址減去s的位址。p最開始初始化的時候就是s的位址,然後通過while迴圈指向了"c"的位址。p-s大於0的話,迴圈第一次輸出c,第二次指向b,這時候p的位址等價於&s[1],輸出bc,第三次等於0跳出迴圈。

所以最後輸出的是cbc。

c語言的這個程式設計題目怎麼做呀 求詳細解答

4樓:聽不清啊

判斷--x==y++時,取x=5和y=5相比,然後y變成6,比較的結果為真,於是執行--x,x先變成4,賦值給a

所以a的值是4,

然後b=x++,b的值是4,然後x變成5

最後c=y; c的值變為6

所以是選擇答案b

請問這兩道關於c語言指標的題目怎麼做的啊?為什麼我就是做不出這個答案啊?實在想不通 10

5樓:蹉祺

向右旋動平衡螺母

左盤下沉,調左端的平衡螺母往右調,或調右端的平衡螺母往右調。

右盤下沉,調左端的平衡螺母往左調,或調右端的平衡螺母往左調平衡螺母

c語言的問題,這道題怎麼做啊? 50

6樓:匿名使用者

考你遞迴的用法:

10送入fun(10)

void fun(int n)

n/2=5,條件為真,呼叫函式fun(5),printf("%d",10%2);被壓棧

n/2=2,條件為真,呼叫函式fun(2),printf("%d",5%2);被壓棧

n/2=1,條件為真,呼叫函式fun(1),printf("%d",2%2);被壓棧

n/2=0,條件為假,列印printf("%d",1%2);也就是1

由於棧是先進後出的,所以反相出棧,列印printf("%d",2%2);也就是0

然後列印printf("%d",5%2);也就是1

然後列印printf("%d",10%2);也就是0

所以結果為:1010

7樓:洪冷松

四題選項b和d明顯是相反條件啊,你只要判斷出d是等價的,b肯定就是不等價的啊。

再說題意,while( e ) 就是說只有e的值為0的時候,條件判斷結果為:false

d選項中 ( e != 0 ),當 e 的值為 0 的時候,條件判斷為假:false----等價

b選項中 ( e == 0 ), 當 e 的值為 0 的時候,條件判斷為真:true----不等價

綜上,選b

8樓:聽不清啊

這個題,就是選擇答案d。

圖中,if(n/2)其實就是等價於if(n/2!=0),考慮到n是正數,它也就等價於if(n>1)

總之,第一次呼叫,就滿足條件,進行遞迴呼叫:fun(5)…………具體見圖所示(乙個紅框,就是一次函式呼叫):

依輸出的先後次序,總的輸出就是:1010

9樓:匿名使用者

fun(10);

fun: n=10, n/2不等於0成立,fun(n/2); [n/2=5]

fun: n=5, n/2不等於0成立,fun(n/2); [n/2=2]

fun: n=2, n/2不等於0成立,fun(n/2); [n/2=1]

fun: n=1, n/2不等於0不成立,printf輸出:1fun:

n=2, printf輸出:0,累計輸出:10fun:

n=5, printf輸出:1,累計輸出:101fun:

n=10, printf輸出:0,累計輸出:1010printf輸出:

換行並不是a

10樓:自我程式設計

列印1010。

這是遞迴函式每次執行到呼叫自己的時候,要等呼叫的那個執行完

才會返回繼續執行下一條語句。

也就是說

if(n/2)fun(n/2);//每一次呼叫自己的這一句執行結束,才會執行下面的列印。

printf("%d",n%2);

所以每一層都會列印自己的變數n%2的值。

而最先執行列印的是最裡一層的呼叫,整個執行過程分別是fun(10)->fun(5)->fun(2)->fun(1)。

既列印1%2,2%2,5%2,10%2,也就是1010。

11樓:夏天的小紅花

這是乙個把十進位制數n轉換為二進位制數的程式,選擇答案d。程式的執行是這樣的,裡面判斷語句的功能就是說,如果n除以2的值大於0,就進行遞迴呼叫。這個語句也可以寫成為如果n大於1就進行遞迴呼叫。

等到遞迴呼叫返回時,再輸出這個n除以2的餘數,但是這個操作是要等遞迴呼叫返回後才輸出的,所以是最後一次呼叫的時候的輸出是最靠前的。這樣就實現了反向除二取餘數的功能,也就是說把n轉換為二進位制進行輸出。

C語言的問題,這道題怎麼做啊,C語言的問題,這道題怎麼做啊?

考你遞迴的用法 10送入fun 10 void fun int n n 2 5,條件為真,呼叫函式fun 5 printf d 10 2 被壓棧 n 2 2,條件為真,呼叫函式fun 2 printf d 5 2 被壓棧 n 2 1,條件為真,呼叫函式fun 1 printf d 2 2 被壓棧 n...

這三道題怎麼做,最好詳細點,謝謝

第三道題題解 i u r 幾個電阻是串聯的,通過的電流相同。i 1a u ir uab ir1 1x2 2伏 ubc ir2 1x5 5伏 ucd ir3 1x15 15伏 ude ir4 1x8 8伏 這兩道題怎麼做?100 第一題是14。這道題的難點在於所有顏色的數字加起來的數量之和是相等的。第...

這道題怎麼做呀求過程怎麼寫,這三道題怎麼寫求過程和答案,謝謝

用假設法 假設甲的前半句是對的,2號是漢族,則丙後半句對,3號是藏專族,則乙兩句話都是錯的屬,假設不成立 因此甲的後半句是對的,3號是蒙族 則丙的前半句對,1號是漢族 丁的前半句對,4號是藏族 2號是回族 答案是 1號漢族,2號回族,3號蒙族,4號藏族 這道題怎麼做呀?求過程怎麼寫 由 1 和 2 ...