字串宣告

字元

char c='A'; //宣告一個字元變數,初值A(單引號)。

字元陣列

char str1[]={'A','B','C'}; //宣告一個字元陣列,初值ABC(引號)。

char str2[]={"ABC"}; //宣告一個字元陣列,初值ABC(引號)。

char str3[]="ABC";

※str1,str2,str3都可以使用索引值讀取。※

字串

多個字元即為字串。

多字串陣列

char *str2[]={"Hello ","world ","!!"}; //宣告放三個字串的陣列

碰到中文時

※將中文字當成一個字串處理※

char *ten[]={"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"}; //十個「天干字串」的宣告方式

char *dezi[]={"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"}; //十二地支的宣告

印出十天干:

for(int i=0;i<10;i++)

printf("%s",ten[i]);

結果:甲乙丙丁戊己庚辛壬癸

印出十二地支

for(int i=0;i<12;i++)

printf("%s",dezi[i]);

結果:子丑寅卯辰巳午未申酉戌亥

印出十天干與十二地支組合(60甲子):

for(int i=0;i<10;i++){

if (i%10==0) printf("%s ",ten[9]);

else printf("%s ",ten[i%10]);

if (i%12==0) printf("%s ",dezi[11]);

else printf("%s ",dezi[i%12]);

}

結果:

甲子 乙丑 丙寅 丁卯 戊辰 己巳 庚午 辛未 壬申 癸酉

甲戌 乙亥 丙子 丁丑 戊寅 己卯 庚辰 辛巳 壬午 癸未

甲申 乙酉 丙戌 丁亥 戊子 己丑 庚寅 辛卯 壬辰 癸巳

甲午 乙未 丙申 丁酉 戊戌 己亥 庚子 辛丑 壬寅 癸卯

甲辰 乙巳 丙午 丁未 戊申 己酉 庚戌 辛亥 壬子 癸丑

甲寅 乙卯 丙辰 丁巳 戊午 己未 庚申 辛酉 壬戌 癸亥


「公元年數先減三後為基數基數除10餘數是天干,基數除12餘數便是地支年」。

以2010年為例,年份減3得基數2007,除以10得餘數7,對查天干次序(甲、乙、丙、丁、戊、已、庚、辛、壬、癸)。得,再將基數2007除以12得餘數為3,再循環對查地支次序(子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥)得故2010年為庚寅年。(餘數0可回推為1之前,天干年即10地支年即12亥)