使用字元陣列來儲存及操作字串
程式使用㇐個 for敘述式 (#22-24)來走訪 string1 陣列,並且用轉換指定詞%c 將每個字元以空白區隔印出。for敘述式中的條件當計數器小於陣列大小,且尚未遇到代表字串結束的空字元之前,將會㇐直為眞。 此程式中僅讀取字串不包含空白字元,Ch.8將會介紹該如何讀取包含空白字元的字串。注意:在第17-18行包含了兩個以空白字元分隔的字串,編譯器會自動地將這些字串合併為㇐,這對於⾧字串的可讀性是很有幫助的


// Fig. 6.10: fig06_10.c
// Treating character arrays as strings.
#include <stdio.h>
#define SIZE 20
// function main begins program execution
int main(void) {
char string1[SIZE]; // reserves 20 characters
char string2[] = "string literal"; // reserves 15 characters
// read string from user into array stringl
printf("%s", "Enter a string (no longer than 19 characters): ");
scanf("%19s", string1); // input no more than 19 characters
// output strings
printf("string1 is: %s\\nstring2 is: %s\\n" "string1 with spaces between characters is:\\n", string1, string2);
// output characters until null character is reached
for (size_t i = 0; i < SIZE && string1[i] != '\\0'; ++i) { printf("%c ", string1[i]);
}
puts("");
}