最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

幫忙看一個程序

幫忙看一個程序

C
慕神7194819 2016-01-31 11:39:56
#include<stdio.h>float fun(int n){? ? ?if(0==n%5)? ? ? ? ?return ++n;? ? ?else? ? ? ? ?return n/5;}void main(){? ? printf("%ld\n",fun(7));}我覺得答案應(yīng)該是1啊,為什么課本上的答案是6,而且我用vc++驗證時答案又是0,到底是怎樣算的
查看完整描述

6 回答

?
Happy窮鬼

TA貢獻1條經(jīng)驗 獲得超0個贊

如果是課本上的題目,應(yīng)該是要考慮類型轉(zhuǎn)換,以及轉(zhuǎn)換時截斷的規(guī)則。這個轉(zhuǎn)換規(guī)則往往與編譯器的實現(xiàn)有關(guān)系的,比如float是幾個字節(jié),int是幾個字節(jié),int轉(zhuǎn)float,float轉(zhuǎn)長整型具體怎么轉(zhuǎn),你可以在同一個編譯器測試一下(不單單測試你這個小程序哦,你可以設(shè)計幾個測試例子,比如 float a = 1,234; println("%ld\n",a);),你可以用兩個不同編譯器對比一下,會更清楚。

查看完整回答
反對 回復(fù) 2016-02-01
?
艾格尼絲和小黃人

TA貢獻2條經(jīng)驗 獲得超0個贊

fun函數(shù)是float型,但是你輸出的時候是ld長整型。當然會出錯。如果改為

#include<stdio.h>
long?fun(int?n){
?????if(0==n%5)
?????????return?++n;
?????else
?????????return?n/5;
}
void?main(){
????printf("%ld\n",fun(7));
}
結(jié)果就是1了


查看完整回答
反對 回復(fù) 2016-02-01
?
joker_pumpkin

TA貢獻1條經(jīng)驗 獲得超0個贊

float輸出應(yīng)該是%f,結(jié)果是1.000000

查看完整回答
反對 回復(fù) 2016-01-31
?
雅趣

TA貢獻29條經(jīng)驗 獲得超53個贊

我這條件不允許,沒測試不過你那個如果可以跑的話應(yīng)該是1.4,返回值為float 型。

查看完整回答
反對 回復(fù) 2016-01-31
  • 6 回答
  • 0 關(guān)注
  • 1962 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號