本例中由于定義數(shù)組長(zhǎng)度為15, 因此輸入的字符串長(zhǎng)度必須小于15,以留出一個(gè)字節(jié)用于存放字符串結(jié)束標(biāo)志`/0`。 應(yīng)該說明的是,對(duì)一個(gè)字符數(shù)組,假如不作初始化賦值,則必須說明數(shù)組長(zhǎng)度。還應(yīng)該非凡注重的是,當(dāng)用scanf函數(shù)輸入字符串時(shí),字符串中不能含有空格,否則將以空格作為串的結(jié)束符。例如運(yùn)行例4.8,當(dāng)輸入的字符串中含有空格時(shí),運(yùn)行情況為: input string:this is a book this 從輸出結(jié)果可以看出空格以后的字符都未能輸出。 為了避免這種情況, 可多設(shè)幾個(gè)字符數(shù)組分段存放含空格的串。程序可改寫如下:
#include"string.h" main() { static char st1[30]="My name is "; int st2[10]; printf("input your name:/n"); gets(st2); strcat(st1,st2); puts(st1); } static char st1[30]="My name is "; int st2[10]; printf("input your name:/n"); gets(st2); strcat(st1,st2);