C語言程式,計算結果老是為零,怎麼回事呢?

2025-07-18 22:20:15 字數 2496 閱讀 8284

1樓:網友

你把printf和scanf的格式搞混了。

printf語句中,把&去掉。

c語言程式設計 程式計算結果總是為0怎麼辦

2樓:澈澈撤離

你要是計算小數要用。

double

用int 的話,比如2/5就會等於0

3樓:網友

有可能的,比如變數的空間被非法覆蓋。需要檢視記憶體。

4樓:匿名使用者

那是可能你數值錯誤或者什麼的。

c語言計算結果總是

5樓:雪v歌

clock() 獲取毫秒。程式執行太快,時間差為0這是用clock() 的例子:

void example_dt_ms()

wait_ms(2000);

tick2=clock();

dt = (double) (tick2 - tick1);

printf("**********====example_dt_ms:");

printf("dt = %lf ms",dt);

精確計時間差:

用queryperformancecounter()函式返回當時時鐘讀數,計時開始用它得到開始讀數,計時結束用它得到結束讀數,兩個數相減是時間差讀數。讀數轉換為時間,要用queryperformancefrequency()函式獲得時脈頻率,讀數除以時脈頻率,得時間,單位是秒。乘1000得毫秒。

據說,這種方法比較精確。

c語言計算12/35結果為什麼總是0?如何才能不是0?

6樓:思念不溼

因為你把資料定義為int型別,而c語言中int型別資料進行a/b運算是取模,達不到你要的除法,改為float型或者雙精度double

7樓:

/兩邊都是整型時是取整除,有一邊或兩邊都是浮點數時才是浮點除。所以想到到12除以35的浮點結果得寫成或12/或或者把其中乙個數或兩個數都強制為float型或double型。

8樓:上官冷月

你定義y4的時候定義的是int那麼它只能接受int 12/35結果是0.幾所以就是0了。

如果你要得到正確的數 建議你用double定義。

c語言這個程式輸出總是為0的,錯在**啊?

9樓:聽不清啊

程式請 複製/貼上 **的文字。

程式中定義的 根本沒有必要啊。

程式計算的是什麼東西?有這樣的公式嗎?

10樓:匿名使用者

**不要截圖, 不然無法幫你測試。

c語言這個程式輸出總是為0的,錯在**啊?

11樓:匿名使用者

程式請 複製/貼上 **的文字。 程式中定義的 314 根本沒有必要埃 程式計算的是什麼東西?有這樣的公式嗎?c語言這個程式輸出總是為0的,錯在**啊?

求c語言執行程式結果,答案是0,怎麼算的啊?求大神,謝謝了。。。

12樓:網友

因為a=1, 所以!a=0即false, 第乙個if不能執行, 程式執行至else if(a==0),因為a不等於0,也走不進來,由於if(a)……

else是一對分支結構,都是else if(a==0)的子分支,當然也走不到。

b沒有做任何運算。輸出b=3

13樓:曠野行風

a=1, !a=0, 第乙個if判斷為false, 程式執行至else if(a==0)

第二個if繼續判斷為false, 程式執行printf, 輸出b=0.

你自己單步除錯一下就知道了, 這種問題不值顧問的。

14樓:匿名使用者

if(!a)表示如果a的值是0,這裡顯然不是,所以執行第乙個else if,判斷出a==0為false,所以直接執行printf語句輸出b的值了。

15樓:網友

答案是2 不應該是零 如果你第四行的a前面是!的話 那答案應該是2

16樓:網友

寫的什麼東西。太亂了。你第一段a前面是什麼?那個是符號。

c語言,這個計算圓周長,面積的程式,為什麼輸出結果總是

17樓:匿名使用者

scanf那一行有問題。

scanf("%f",&d);

注意後乙個引號位置。

18樓:尋秦記記

scanf語句,把&d提出來,寫成scanf("%f",&d)

19樓:黑丶雨

scanf 函式格式錯誤,導致賦值失敗;

改為:scanf("%f",&d);

c語言數的輸出問題如何可以實現計算結果是整數時輸出整數

g格式輸出浮點數時,不會輸出無意義的零。你試試。include void main 判斷被 如果存在小數部分 用 f輸出 如果沒有 用 d輸出 c語言中什麼型別的標準輸出可以做到是整數時,就只輸出整數,後面不會有小數點,輸出小數時有幾位輸出幾位 用字串讀入 gets ch 逐個字元輸出 判斷該字元是...

C語言編寫程式計算C語言編寫一個程式計算。。。

親,你的程式迴圈copy永遠不會停止 bai此句for i 1 fabs 1 i i 1 1e 6 i i永遠大於0 所以不會停du止 所以沒輸出入 沒錯zhi誤計算機只能計算有限的數值,這dao種無限逼近型的不能用這種方法算的 fabs 1 i i 1 有錯誤,bai 1 i i 1 1 i i ...

c語言看程式寫結果,C語言高手來看看,看程式寫結果,告訴我步驟

這麼基本的問題。static int a表示這個a是一個靜態變數具有靜態儲存時期 內部連線 塊作用域,因此呢它和自動變數不同,每次函式結束自動變數會被刪除但是這個a不會,所以 n fun3 k 會改變一次a的值,使a等於5n fun3 m 接著上次的改變繼續改變a,所以這裡的a就成了6至於下面這題更...