C語言問題,請賜教

時間 2022-03-12 12:10:11

1樓:茅坑玩蛆

先回答第乙個程式,當i=1的時候,輸出*#(這裡是重點,輸出的是*#,而不是*),i=2的時候,什麼也不輸出,因為執行了continue;直接跳出迴圈執行下一次迴圈,i=3的時候,輸出*#(同樣,輸出的是*#,而不是*),以此類推,4的時候不輸出,5的時候*#,所以最後結果就是*#*#*#$。

第二個程式,注意,####重點->是先++,後運算#####。25++是26,能被2整除,26++是27,能被3整除,27++是28,能被7整除,所以輸出28。。。以此類推可以算出70是從67開始的。

如果還不明白繼續問我,但請一定要採納我的回答,先謝謝了。

2樓:

1 奇數時輸出*沒問題吧?其實也會輸出#,偶數時會輸出#嗎?其實不會。因為迴圈會跑過1,3,5三個奇數,所以會輸出3個*#

這樣寫清楚一點

for(i = 1; i <= 5; i ++ )else

printf("#");

}2. ++x是先x自加再取x的值

所以當x為25時

++x % 2 == 0為真

判斷完之後x為26,使得下面的表示式為真

++x % 3 == 0

判斷完之後x為27,使得下面的表示式為真

++x % 7 == 0

3樓:

1,注意else 後的continue ;當i被2整除時候是直接被continue跳過後續語句直接跳到for中i++的,不會執行printf。當i不被2整除時候先printf * ,再執行下一條語句是printf #, 意思就是*#都是i為奇數時候printf出來的。

2,這個程式當然不是簡單的自加3次被2,3,7整除。而是100內,連續的3個數分別被2,3,7整除。

4樓:

#include

int main()

else

printf("#");

}printf("$\n");

}總體效果就是每逢奇數,列印出*#,偶數不列印。所以是三個*#,最後加乙個$

int main()}}

}}以輸出結果28為例,當i=25時,執行x=i,然後x也等於25。此時++x為26,能被2整除,再++x為27,能被3整除,再++x為28,能被7整除,於是乎,執行printf語句,列印出了x為28。

程式的大括號要寫對應起來啊,否則很費解。。。

5樓:

你理解錯了,找出的數 x 是能被7整除,x-1能被3整除,x-2能被2整除。

初學C語言請賜教,初學C語言 請賜教

b佔1位元組,第二問題其實是不確定,它們表示 a 與 b 在記憶體中儲存位置的距離,可以是不固定的,相差4位元組的情況可能是你計算為這個程式分配的空間是連續分配的,所以先給a 4個位元組,接著就給b 分配乙個位元組,它們在記憶體中儲存位置剛好差4個位元組 這就是乙個位元組對齊的緣故,樓主要繼續深究c...

c語言問題!!求高手賜教,求C語言高手賜教!!!

這個函式的主要作用應該是將你輸入的資料轉換成你所要求的進製數,並以十進位制的形式輸出,比如 你輸入2 進製數是2,那麼 在二進位制數里只有0 和1 所以,這個是無法按照你的要求轉換的,程式會退出,但是,如果你輸入的a,進製數是16,那麼在十六進製制數中a代表的十進位制數是10.如果你輸入的是ab,進...

C語言問題,請指導下,c語言問題,請哪位大蝦指教下!不勝感激! 我需要用到一個一維陣列a ,括號裡面的數又等於一個變數n

pchar是一個char型指標,指向某個記憶體區域並且以char型進行讀寫。pchar 1是進行指標偏移計算,形象來說就是把指標移到所指記憶體區域緊挨著的下一個記憶體區域 pchar 1 是對偏移後的地址解引用,對一級指標來說可以形象理解為取出這個記憶體區域所代表的變數 對於一個被char型指標所指...