有關c語言

2023-01-09 11:25:36 字數 822 閱讀 1585

1樓:

因為在c語言中,資料型別不同的數運算時會自動轉換成高型別(所謂高型別可理解成佔用位元組數多的型別)。但如果型別相同,運算時不會自動轉換,所以5/9本應等於0.5xx,但由於5和9都是整型,其運算結果也為整型,成了0!

在你的表示式中,如y或z只要有一個以上為浮點型就沒問題了,否則5或者9至少要有一個變成浮點數5.0或9.0

2樓:浪漫櫻花涵

前面應該是定義的整形函式int吧,如果是5/9的話,系統會預設取整(就是取整數部分),所以結果為0,如果是5·0/9·0的的話,系統會預設為實數,便會保留小數部分。這樣答案是不一樣的…

3樓:王香春

如果寫5和9就是實型,「/」是整除的意思,所以5/9結果整數是0,餘數是5.要是想求餘數的話就是「5%9」,把5.0和9.0改成5和9會出錯的原因是前者是實型,後者是整型。

4樓:已註冊完畢

5/9本來就是等於0,餘數是5,而5.0/9.0則等於0.5,餘數是0.5,在程式裡,餘數都是自動丟棄的,如果想要餘數則可以用5mod9,這樣出來的是餘數

5樓:匿名使用者

5和9是預設的整形數,編譯器作為整形處理,所以結果也是自動為整形,小數點後面的都略去了。而用5.0之類的則為浮點型,結果自然也是浮點型,不知道說清楚沒

6樓:匿名使用者

至少其中一個用實型表達就行,「/」符號是這樣規定的。

多看下書把~~~~

7樓:匿名使用者

整數相除結果是商, 5除以9 商是0餘數5

有關C語言的,有關c語言的?

第4行改為 int x,y,z 8 12行 加入變數int result 0 case result x y case result x y case result x y printf result 有關c語言的?有關c語言 toss 函式演算法有問題吧?不知道你那個演算法是什麼意思,有什麼依據!...

c語言有關paqp的問題,C語言 有關 p a, q p 的問題

p是一個一維指標,它指向陣列a的第一個元素a 0 p 會先取p當前指向的地址並做解引用得到a 0 元素的值,然後再將p指標移位指向相鄰的下一個元素 即a 1 元素 q是一個二維指標 可以理解為指標的指標 它指向了指標p,所以 q得到的是指標p現在指向的地址 即a 1 q相當於 p,由於上一條語句中,...

有關大學c語言的問題,有關於大學c語言問題

1 ad 2 20,30,20 3 3120 4.x值為1 5.1,3,3 有關於大學c語言問題 int x 0,y 20,z 30 if x y 50 z printf y d y else printf y d y 求y的值 這裡需要注意的是y 50這個是賦值。所以先賦值y 50,然後 判斷y ...