本例中由于定義數組長度為15, 因此輸入的字符串長度必須小于15,以留出一個字節用于存放字符串結束標志`/0`。 應該說明的是,對一個字符數組,假如不作初始化賦值,則必須說明數組長度。還應該非凡注重的是,當用scanf函數輸入字符串時,字符串中不能含有空格,否則將以空格作為串的結束符。例如運行例4.8,當輸入的字符串中含有空格時,運行情況為: input string:this is a book this 從輸出結果可以看出空格以后的字符都未能輸出。 為了避免這種情況, 可多設幾個字符數組分段存放含空格的串。程序可改寫如下:
#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);