c語言的很簡單的問題,c語言的一個很簡單的問題

2022-07-01 20:05:14 字數 775 閱讀 1738

1樓:匿名使用者

int是8位的吧,1500*350超過範圍了,資料型別換成long int

2樓:

不是說過了嘛?

main()

就可以了,因為1500*350的結果太大了,超出了int的範圍,所以應定義成long,而long在輸出時的格式為%ld

是結果不行麼?我在公司上班,不能上qq的,應該對的呀,如果不對,那我也沒有辦法了,不好意思

3樓:

#include

void mian(void)

計算結果確實是溢位了,因為a跟b都是int型的,所以計算結果還是int型的,要必須強制轉換成long型才能賦值給c。。。。這樣改了之後應該是行的。。。你也可以把a跟b轉換成long型之後再進行計算。。。

c = (long)a * (long)b;

4樓:匿名使用者

int 是2個位元組 16位 最大為 65535

而 1500*350 大於 65535 溢位

5樓:鈴雅雅

你這樣寫數不能太大,所以有錯誤,把它改成下面的就可以了

#include

main()

6樓:清風荷影

應該沒多,我試行,建議改一下,改成long,若是別人輸入大數就放不下了

7樓:蝶破焰澈

汗!不是說過嘛!可以執行的!真是的!理論有時需要實踐的嘛了

簡單的c語言問題,一個簡單的C語言問題

在c語言中a b c這種寫法是不對的 應該寫成a b b c 在你的演算法中a b c的值不確定 當a小於b時 if a b c 就會變成if 0 c 所以結果會發生錯誤 好吧 看的我頭大了,要不我給你寫一個 我上次一個就用了個三目運算子就算出來了!你這個程式就是輸出最大數 最小數 平均數 就用了8...

關於c語言的簡單問題,一個關於c語言的簡單問題

scanf f,radius 改為scanf f radius printf f n,area 改為printf f n area 恩 你的錯誤就是printf和scanf函式的格式不對啊其它的都很好啊 把書本上的格式用程式來除錯下 這樣記憶更深刻 scanf f radius printf f n...

C語言簡單的問題

陣列名相當於指向陣列首元素的一個常指標,但指標並不等於陣列.把陣列名做常指標用時,不能改變它的指向,也就是說不能對陣列名賦值,只能用陣列偏移來訪問陣列元素,如定義一個陣列int a 則 a就是0,a 1 就是1等等,這個訪問過程中並沒有改變a的值 即陣列首元素的地址 而是用a偏移一定的量來訪問陣列元...