KEIL C51中的字元中拼接

2021-08-22 02:00:35 字數 907 閱讀 2332

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開發者特別是初學者編制非常精確的延時程式有一定難度。本文從實際應用出發,討論幾種實用的編制精確延時程式和計算程式執行時間的方法,並給出各種方法使用的詳細步驟,以便讀者能夠很好地掌握理...