c語言的問題,C語言問題?

時間 2021-10-15 00:00:54

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