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 ...