void userdefinedprintfun(char* format, int i, ...)
else if(*(format-1)=='%' && *format=='d')
else if(*(format-1)=='%' && *format=='f')
}va_end(arg_ptr);
return;
}如果採用下面三種方法呼叫,合法合理:
userdefinedprintfun ("%d", 2010); // 結果2010
userdefinedprintfun ("%d%d", 2010,2011); // 結果20102011
userdefinedprintfun ("%s%d", "hello", 2012); // 結果hello2012
但是,當給定的格式字串與引數型別不對應時,強制轉型這個「怪獸」就會被喚醒,
悄悄地毀壞程式的安全性,這可不是什麼高質量的程式,如下所示:
userdefinedprintfun ("%d", 2010.80f);
// 結果2010
userdefinedprintfun ("%d%d", "hello", 2012);
// 結果150958722015(這是什麼結果???)
自定義列印
1 第一種方法 page language c autoeventwireup true codefile testprint.aspx.cs inherits testprint 第二種方法 page language c autoeventwireup true codefile print.a...
自定義函式 Excel之自定義函式
在excel中,當系統函式不能滿足我們的需求時候,我們可以使用vba自定義函式,如抓取網頁資料,翻譯詞彙,手機號歸屬地查詢等。下面將介紹2個自定義函式,idymd函式 身份證年月日性別 通過身份證號,返回性別,出生年月日。語法 idymd id 引數 id,身份證號,預設身份證長度18位。vba 如...
自定義函式
使用者自定義函式是sqlserver的資料庫物件,他不能應用於一系列改變資料庫狀態的操作。但它可以像系統函式那樣在查詢中或儲存過程中等中的程式段中使用。也可以像儲存過程一樣通過execute命令來執行,使用者自定義函式中儲存了transact sql可以返回一定的值。在sqlserver中根據函式返...