Re: [問題] printf type of value

看板C_and_CPP作者 (我討厭)時間10年前 (2014/07/28 23:13), 編輯推噓4(4022)
留言26則, 9人參與, 最新討論串2/4 (看更多)
#include <stdio.h> /*printf*/ typedef struct _OGC{ int list; char* string; }OGC; OGC OGC_TABLE[]={ {1,"int"}, {2,"float"} {3,"OGC"}, }; char *type(int Q_Q){ return OGC_TABLE[1].char; } char *type(float Q_Q){ return OGC_TABLE[2].char; } char *type(OGC Q_Q){ return OGC_TABLE[3].char; } int main(int argc ,char *[]argv){ int a; float b; OGC c; printf("typeof(a) = %s\n",type(a)); printf("typeof(b) = %s\n",type(b)); printf("typeof(c) = %s\n",type(c)); getchar(); } ※ 引述《qas612820704 (Lego)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : GCC : 請問在c底下我要怎麼print出我變數的type : 例如說 : int a; : float b; : char c; : 我希望能print出 : typeof(a)=int; : typeof(b)=float; : typeof(c)=char; : 可是typeof很像不能這樣用? : 跪求解 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.77.53.191 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1406560397.A.FD1.html

07/28 23:19, , 1F
c has no function overloading
07/28 23:19, 1F

07/28 23:56, , 2F
list 也毫無意義
07/28 23:56, 2F

07/29 00:13, , 3F
請問C語言在什麼情況下會不知變數型別呢?好奇你的應用為何!
07/29 00:13, 3F

07/29 01:28, , 4F
其實是因為我用#define DATATYPE XXXX
07/29 01:28, 4F

07/29 01:29, , 5F
然而要printf時要給format 可是我之後在用這個檔案時
07/29 01:29, 5F

07/29 01:30, , 6F
可能會把 XXXX 改成 int 或是 char之類的
07/29 01:30, 6F

07/29 01:31, , 7F
所以我不確定我寫一些變數他的type是什麼
07/29 01:31, 7F

07/29 01:31, , 8F
只確定他的type示我define的那個DATATYPE
07/29 01:31, 8F

07/29 01:33, , 9F
所以我想反向知道我的DATATYPE a是什麼
07/29 01:33, 9F

07/29 01:34, , 10F
然後再給一些關於那個type的操作例如printf
07/29 01:34, 10F

07/29 01:35, , 11F
就我這樣講好像就是給他一些適度的附載平衡就解掉了
07/29 01:35, 11F

07/29 01:37, , 12F
那如果是這樣的話 要怎麼 overflow <(_ _)>
07/29 01:37, 12F

07/29 02:07, , 13F
http://ideone.com/nH3bUF inttypes.h是這樣搞的
07/29 02:07, 13F

07/29 04:45, , 14F
C語言不知變數型別的情況多了,看那滿天飛的void*
07/29 04:45, 14F

07/29 04:47, , 15F
還有滿地爬的typedef FOO (void*)
07/29 04:47, 15F

07/29 04:47, , 16F
#define
07/29 04:47, 16F

07/29 06:43, , 17F
其實仔細想想 後來python跟一些語言乾脆拿掉變數全部
07/29 06:43, 17F

07/29 06:43, , 18F
RTTI 好像除了造成維護困擾以外 也沒太大問題啊....
07/29 06:43, 18F

07/29 06:43, , 19F
反正大家電腦都比以前的超級電腦還快了 :P
07/29 06:43, 19F

07/29 13:10, , 20F
Q_Q
07/29 13:10, 20F

07/29 13:18, , 21F
除了造成維護困擾以外 <-- 不要一句話帶過啊喂XD
07/29 13:18, 21F

07/29 20:08, , 22F
同意樓上XDDDDD
07/29 20:08, 22F

07/29 20:23, , 23F
c有類別的定義?? 不是只有c++才有類別嗎?? struct ?
07/29 20:23, 23F

07/29 21:48, , 24F
XDDDDDDD uranusjr這句話莫名喜感啊
07/29 21:48, 24F

07/29 21:56, , 25F
其實python已經不錯了 C型別亂轉可是會默默吃下直接毀損
07/29 21:56, 25F

07/29 21:56, , 26F
資料的,python那些語言其實這方面管控做得不錯了....
07/29 21:56, 26F
文章代碼(AID): #1JrcYD_H (C_and_CPP)
文章代碼(AID): #1JrcYD_H (C_and_CPP)