作者lairrol (極藍風)
看板C_and_CPP
標題[問題] define 小疑問
時間Sun Jul 12 04:01:30 2009
今天晚上心血來潮玩了一下#define
試了一個小東西
#include "stdafx.h"
#include "stdlib.h"
#define test 18/7
int _tmain(int argc, _TCHAR* argv[])
{
printf("
%f\n",
test);
system("pause");
return 0;
}
這樣可以正常印出18/7的一串浮點數2.571429
但是黃色那一行改成
#define test 18/7 印出0.000000
#define test 18.0/7 印出2.571429
#define test 18/7.0 印出2.571429
#define test (float)18/7 印出2.571429
我的疑問是#define後面定義的變數的型別是按照變數後面的敘述
來決定變數的型別?
--
態度決定你的
高度
你有多
高?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.114.110.105
推 zlw:define就是把test出現的地方改成你在test後面寫的東西而已吧 07/12 06:36
→ zlw:就只是一個字串取代,與什麼型別運算沒有關係 07/12 06:36
→ zlw:還有你的內容有矛盾 07/12 06:37
→ iamivers0n:你確定黃色到綠色第一行有改嗎XD 07/12 08:01
→ lairrol:看完zlw大的回答我大致了解在做什麼了!!感謝.. 07/12 14:46
推 UNARYvvv:整數除以整數 還是整數 07/12 17:56
→ feasfeasf:第一行原PO意思可能是#define test 7/18 印出 0.0000 07/18 13:00
→ feasfeasf:7/18 跟 7.0/18, 一個是int運算,一個是float運算 07/18 13:02