1樓:魘傳說
這個**的作用就是利用do while將陣列算出來,然後利用for迴圈遍歷,倒序輸出陣列。
我感覺很奇怪,devc++出來的結果是10010。
我算出來的結果應該是00010,因為強轉int型別應該是取0的,而不是取1.
然後我用c++試了多個數字,發現所有的結果都是以1開頭,至於為什麼我也不知道,希望題主得到答案後能夠分享給我,萬分感謝。
沒有解釋明白,不必採納。
1.當x輸入為18
y=18;i=0
u=9;a[0]=0;i=1;y=9;
while(9>=1);
再執行do語句
2.第二個do迴圈
u=9/2;a[1]= 1 ;i=2;y=9/2;
while(9/2>=1);
3.第三個do迴圈
u=9/4;a[2]= 9/2 %2=1/2 ;i=3;y=9/4;
while(9/4>=1)
4.第四個for迴圈
u=9/8;a[3]= 9/4 %2=1/4 ; i=4; y=9/8;
while(9/8>=1);
5.第五個for迴圈
u=9/16;a[4] = 9/8 %2 = 9/16; i=5; y=9/16;
while(9/16>=1)[不成立,因此不再執行上面的do語句,而執行下面的for迴圈]
for(j=4;j>=0;j--) [成立]
輸出a[4]
for(j=3;j>=0;j--)[成立]
輸出a[3]
for(j=2;j>=0;j--)[成立]
輸出a[2]
for(j=1;j>=0;j--)[成立]
輸出a[1]
for(j=0;j>=0;j--)[成立]
輸出a[0]
則,當輸入18時,輸出a[4]a[3]a[2]a[1]a[0]
2樓:蓋健魏河
那得看具體情況了,要是有int
a=1,*q=&a,**p=&q;p就是指向指標的指標,它的值只能是指標的地址,這樣的話*p就是q,而q就是&a,所以**p就是*q,也就是a,這樣講明白了吧lz,望採納
3樓:用材蔣安夢
**p這個指標等價於*(*p) ,是一個二重指標,首先p存放放的是一個變數的地址,*p就是p】存放的變數的地址存放的資料,即變數的值,由於該變數的值還是存放一個地址,所以*(*p)表示*p存放的地址值指向的地址存放的資料。
4樓:青和叢馳海
現在都出到第四版了吧
不過那書我都看了
內容沒什麼大變化
屬於換湯不換藥的
隨便買一本
但是一定要認真看才好
5樓:岑密譙思佳
關鍵在於cuntinue這個語法的應用。continue的意思是不執行本次迴圈cuntinue以後的語句。所以第二個是對的第一個是錯的。
6樓:習禧希頎
選a以0開頭的為8進位制數,不能再出現8。
7樓:枝茉喬傲絲
超出ascii碼錶示的正常字元範圍就是亂的了
8樓:解然譚鶯
sum+=var
與sum=+var
sum+=var等於sum=sum+var;例如sum+=1;就是sum=sum+1;
而sum=+var我是沒有見過的,也沒有用到過,確定沒寫錯啊?
9樓:鹿洲舒寄南
問題太多了,首先是你在實參中用的是結構陣列,但形參中你又是用的結構變數,這肯定不行了,其次,你在實參中用的是float型陣列,而形參中用的是變數,還是未定義的,這怎麼行呢
10樓:益怡所之玉
打個比方,p是一個指標變數。賦值p=a,
即p指向a的地址,p的值即為a的地址,p同樣在記憶體中佔儲存單元。*p按上面的解釋,則是指向p的地址,但定義時要多加一個*符號,比如定義int
**p。換句話說就是p是指向a的地址,*p是指向p的地址。
11樓:刀煦敖景輝
指標的指標,相當於一個指標指向*p的值這個地址
c語言的問題?
12樓:最大的寶寶
在printf裡的%d後面加一個空格不就好了?
c語言問題?
13樓:
int a = 12, b = 12;
printf("%d %d", --a + b, ++b);
結果是 24 13
這涉及到函式引數呼叫順序的問題,這裡的順序是從右到左先執行 ++b 所以 b=13 這個沒有疑問在執行到 --a +b --a =11 再加b 11+13=24接著執行輸出 就是 24 13了
c語言問題。
14樓:暢景彰
void main()
這個程式應該滿足你的要求了,而且我已經通過除錯了。
c語言問題?
15樓:匿名使用者
int a=4;
void main()
int a=2; //這種局
bai部變數,會du隱藏掉上一級
定義zhi的同名變數,下面dao
也是一樣回
中有效。
所以上面的複合語句中,會輸出0,下面呼叫sub1時,實際上傳入的是main中的int a=2;又有a=a-1,所以會輸出1,下面也是一樣的,main中的a值並未變化,還是2,所以輸出2,當呼叫sub2時,因為最外層的全域性a並未被隱藏,所以會輸出4
c語言問題,C語言問題。
考驕 用指標將兩個字串連結接起來,前一個while迴圈,確定s1字串走完,第二個while開始將s1的逐個字元複製給s1走完,也就是末尾,這樣就可以把字串都匯入到s1中 最後一個空寫的應該寫return s1 長魚修韋 很久沒碰這東西了。我來解釋下 第一個while的迴圈是為了讓指標指向第一個字串的...
C語言問題,c語言問題?
自我程式設計 列印輸出乙個ok。因為前面迴圈for語句有分號結束。所以後面的printf語句不在迴圈內,不受迴圈語句影響。 理佑平鄲胭 結果是22 7 7 8 22 你可以將 i i i i是先 1再計算,還有這裡的運算順序是從左到右,所以應該是7 7 i 14 8 22 前兩個相加時,i先加1,加...
c語言問題,C語言問題?
這個問題說難不難,但理解可能有點玄乎而已,但是打個比方來理解就太容易掌握啦!就是說scanf的認定讀取,比如你單純的scanf c ch 那麼實際上已經認定了第乙個字元出現就把它賦予給ch,如果是你的scanf c 前面多了乙個空格,所以就認定了出現第乙個空格後的字元賦予給ch,如果寫成這樣 sca...