c語言,小問題

2022-06-09 11:51:44 字數 1141 閱讀 5859

1樓:

樓主,經我除錯後,回答如下~~~~希望能給你幫助!

問題一、我的回答為什麼一定要加空格,可不可以取消空格。如隨機生成158,我要輸入1 5 8才算正確...

回答:該程式中採用scanf語句來接收字元,scanf在接收到空格或者回車的時候才會認為輸入結束,所以必須要加空格才算正確。

要想解決該問題,需要把隨機數儲存起來,下一次輸入的時候直接比較就可以了,而且這樣也是最簡單的。

問題二、for(int i=1;i<=sequence_length;i++)這個**出現了兩次,但i一直未在其它地方出現過,這句有什麼作用;

回答:i直接在for迴圈裡面宣告,所以它的生命週期在跳出該for迴圈的時候就結束了,所以不會在其它地方出現,即使出現也是錯誤的。

問題三、for(;clock()-now

回答:clock獲得的是當前時間,now是在迴圈前獲得的初始時間,兩個相減所得的就是過了多少時間,clocks_per_sec是1s,這樣這個差值跟clocks_per_sec相比才是對的。 樓主,那個「*2」應該是誤寫的吧,不然就錯了,呵呵~~

問題四、time_taken在這裡面是幹啥的?

回答:time_taken在這裡是計算從一局開始到輸入錯誤後總共所花費的時間,然後用 「猜對個數/花費的時間time_taken」這個公式來計算你的 「分數」

2樓:匿名使用者

1.請注意**中的這裡

for(int i=1;i<=sequence_length;i++)

{scanf("%d",&number);

如果你不加空格的話,第一次迴圈的scanf語句就能把所有整數全都讀走了,讀到的會是158

2.典型的迴圈語句啊,i就是迴圈變數,讓迴圈執行sequence_length次

3.clock獲得的是當前時間,now是在迴圈前獲得一次時間,clock()-now就表示迴圈執行後已經經過了多少時間,當然要減now

4.程式在猜之前用time_taken記錄了當前時間,在猜對後用clock()-time_taken,就得到了總共花了多少時間猜對,再除以clocks_per_sec就得到花的秒數

問C語言的小問題,問一個C語言的小問題

你就把取值範圍理解成一個圓圈,int取值範圍 32768 32767 超過了32767 最大數 就繞一圈到 32768 最小數 再從最小數開始往上加 所以會是 1懂了麼 上面程式不能正確執行 就異常退出咯 得到的就是 1 為什麼不能正確執行 1 你的unsingned出錯 應該是unsigned啦 ...

c語言 函式的定義的小問題,C語言 函式的定義的小問題

注意這個函式的兩點 第一個引數是char,什麼是char?在32位的機器上,char可以看成1個位元組的整數,a b 這樣的asii字元是char,a選項中的 abc c選項中的 65 都不是char,實際上他們什麼都不是,所以排除ac 第二,返回是void的。那麼b取了函式的返回值,所以b也是錯誤...

c 的小問題,c 的一個小問題

這個,假設你的word 4 這時 word.size 4 那麼for迴圈這樣工作!j 0 i word.size 1 3temp word i temp d word i word j word i a word j temp word j d 這時j 1,i 2 temp word i temp ...