C語言字元陣列與字串的種種 阿新 • • 發佈:2018-11-25 #include<stdio.h> #include<string.h> void printByInt(char c[], int count){ int i; printf("**"); for(i = 0; i < count; i++){ printf("%d ", c[i]); } printf("**"); printf("\n"); } void printByChar(char c[], int count){ int i; printf("**"); for(i = 0; i < count; i++){ printf("%c ", c[i]); } printf("**\n"); } void main(void){ char c1[4] = {'A', 'B', 'C', '0'}; //不是字串 char c2[5] = {'A', 'B', 'C', '0', 0}; char c3[5] = {'A', 'B', 'C', '0', '\0'}; char c4[5] = {'A', 'B', 'C', '0'}; char c5[ ] = {'A', 'B', 'C', '0'}; //不是字串 char c6[5] = "ABC0"; char c7[10] = "ABC0"; char c8[4] = "ABC0"; //不是字串 char c9[ ] = "ABC0"; //2 3 4 6 完全等價 printf("output by char:\n"); printf("c1 "); printByChar(c1, sizeof(c1)); printf("c2 "); printByChar(c2, sizeof(c2)); printf("c3 "); printByChar(c3, sizeof(c3)); printf("c4 "); printByChar(c4, sizeof(c4)); printf("c5 "); printByChar(c5, sizeof(c5)); printf("c6 "); printByChar(c6, sizeof(c6)); printf("c7 "); printByChar(c7, sizeof(c7)); printf("c8 "); printByChar(c8, sizeof(c8)); printf("c9 "); printByChar(c9, sizeof(c9)); printf("\n"); printf("output by int:\n"); printf("c1 "); printByInt(c1, sizeof(c1)); printf("c2 "); printByInt(c2, sizeof(c2)); printf("c3 "); printByInt(c3, sizeof(c3)); printf("c4 "); printByInt(c4, sizeof(c4)); printf("c5 "); printByInt(c5, sizeof(c5)); printf("c6 "); printByInt(c6, sizeof(c6)); printf("c7 "); printByInt(c7, sizeof(c7)); printf("c8 "); printByInt(c8, sizeof(c8)); printf("c9 "); printByInt(c9, sizeof(c9)); printf("\n"); printf("sizeof(c1) = %-2d, strlen(c1) = %d \n", sizeof(c1), strlen(c1)); printf("sizeof(c2) = %-2d, strlen(c2) = %d \n", sizeof(c2), strlen(c2)); printf("sizeof(c3) = %-2d, strlen(c3) = %d \n", sizeof(c3), strlen(c3)); printf("sizeof(c4) = %-2d, strlen(c4) = %d \n", sizeof(c4), strlen(c4)); printf("sizeof(c5) = %-2d, strlen(c5) = %d \n", sizeof(c5), strlen(c5)); printf("sizeof(c6) = %-2d, strlen(c6) = %d \n", sizeof(c6), strlen(c6)); printf("sizeof(c7) = %-2d, strlen(c7) = %d \n", sizeof(c7), strlen(c7)); printf("sizeof(c8) = %-2d, strlen(c8) = %d \n", sizeof(c8), strlen(c8)); printf("sizeof(c9) = %-2d, strlen(c9) = %d \n", sizeof(c9), strlen(c9)); }