已采納回答 / 逆時(shí)針行走
printf的%f說(shuō)明符的確既可以輸出float型又可以輸出double型。根據(jù)“默認(rèn)參數(shù)提升”規(guī)則(在printf這樣的函數(shù)的可變參數(shù)列表中,不論作用域內(nèi)有沒(méi)有原型,都適用這一規(guī)則)float型會(huì)被提升為double型。因此printf()只會(huì)看到雙精度數(shù)。
2015-02-11
已采納回答 / Fiona0126
首先可以方便后續(xù)維護(hù),正如樓上所言,修改時(shí)更加方便。也可以提高編碼速度。比如你要寫(xiě)一個(gè)unsigned char的,你可以#define uchar unsigned char.之后可以用uchar代替,你也可以用#define來(lái)定義一些小的函數(shù)什么的。而且define是在預(yù)處理時(shí)就展開(kāi)的,所以會(huì)可以提高運(yùn)行效率。不過(guò)還是不建議都用define。代碼安全可維護(hù)性好才是重點(diǎn)。。
2015-02-10
已采納回答 / onemoo
你在第一個(gè)printf中是用強(qiáng)制類(lèi)型轉(zhuǎn)換的方式將num轉(zhuǎn)換成int型傳入,不過(guò)準(zhǔn)確的說(shuō),在第二個(gè)printf中并不存在類(lèi)型轉(zhuǎn)換。因?yàn)閜rintf中%d代表它希望相應(yīng)的參數(shù)類(lèi)型為int,如果你傳入的不是int型,一般來(lái)說(shuō)編譯器會(huì)給出警告的,通常仍可編譯通過(guò),但是在運(yùn)行時(shí)printf函數(shù)仍然把那個(gè)參數(shù)當(dāng)作int型來(lái)讀取和打印。一般計(jì)算機(jī)中int和double的存儲(chǔ)方式是不一樣的,所以造成打印出很“奇怪”的數(shù)。而那個(gè)num2,你用了一個(gè)double類(lèi)型的num來(lái)初始化,所以編譯器會(huì)先把num轉(zhuǎn)換成int型來(lái)給n...
2015-02-07
已采納回答 / 火Rain
原則上只要頭文件中的“#include”與“<stdio.h>”這倆個(gè)你不將其中任何一個(gè)拆分或者把倆者換行,倆者間你空多少個(gè)空格都是可行的!作者也可以自己在編輯器里面嘗試一下,看下是否如此!
2015-02-07
已采納回答 / Rober_Lin
使用循環(huán)計(jì)算1-2+3-4+5-6+…-100的值sum記錄錢(qián)n個(gè)值的和,偶數(shù)前的符號(hào)為負(fù),所以用了一個(gè)變量flag來(lái)實(shí)現(xiàn)正負(fù)號(hào)的變換,當(dāng)i為單數(shù)時(shí)flag為正,當(dāng)i為偶數(shù)時(shí),flag*-1變?yōu)樨?fù)數(shù),再乘-1又為正數(shù),當(dāng)循環(huán)執(zhí)行時(shí),判斷循環(huán)條件,然后執(zhí)行求和sun,之后實(shí)現(xiàn)flag的變號(hào),和i的自增。直到循環(huán)條件不滿足
已采納回答 / Fiona0126
注意分號(hào)的中英文。。。