1、在keil中寫在一起的字串keil能夠自動拼接到一起,成生乙個新的字串,如
printf("this"" is"" a"" string");
效果與
printf("this is a string");
的效果是一樣的
這種寫法也可以用於初始化如
char str = "first half""the other half";
2、使用拼接符##
#define strcat(str1, str2) str1##str2
#define string strcat("str1", "str2")
printf(string)
展開後得到
printf("str1""str");
3、使用拼接符#
#define paster(n) printf ("token" #n " = %d", token##n)
paster (9);
預處理後得到
printf ("token9 = %d", token9);
#define string1 "number"
#define strng2 "digit"
#define catstr1(str1, str2) "1 is a " # str1 # "or " # str2
catstr1(string1, string2)==> "1" is a string1 or string2"
而得不到 "1 is a number or digit"
不過可以通過
"1 is a " ## string1 ## " or" ## string2得到想要的結果
以上**在c++ builder 6.0中也適用,應該是標準c支援的
KEIL C51中的字元中拼接
1 在keil中寫在一起的字串keil能夠自動拼接到一起,成生乙個新的字串,如 printf this is a string 效果與 printf this is a string 的效果是一樣的 這種寫法也可以用於初始化如 char str first half the other half 2...
KEIL C51 和 ANSI C 的區別
不同系列的嵌入式系統的c編譯器,根據它所對應的不同晶元系列有其各自的特點,在這裡,以keil公司的針對51系列的keilc51編譯器為例,簡要說明它與ansi c的主要區別,其它的編譯系統與ansi c的差別,可具體參照指定編譯系統手冊,找出它們的不同之處。清楚嵌入式系統的c編譯器與標準 ansi ...
Keil C51程式設計中幾種精確延時方法
實際的微控制器應用系統開發過程中,由於程式功能的需要,經常編寫各種延時程式,延時時間從數微秒到數秒不等,對於許多c51開發者特別是初學者編制非常精確的延時程式有一定難度。本文從實際應用出發,討論幾種實用的編制精確延時程式和計算程式執行時間的方法,並給出各種方法使用的詳細步驟,以便讀者能夠很好地掌握理...