输出char arr[ ]
逐个字符输入输出%c
整个字符串一次输入输出%s
printf("====== start ======\n\n");
char arr[] = {'1','2','3','4','5','6','7','8'}; // '\0'
printf("arr:[%s]\n", arr); // 用%s 一次性输出
for(int i = 0; i<sizeof(arr);i++){
printf("arr[%d]: %c\n", i, arr[i]); // 用%d 依次性输出
}
printf("====== end ======\n\n");
输出:
====== start ======
arr:[12345678]
arr[0]: 1
arr[1]: 2
arr[2]: 3
arr[3]: 4
arr[4]: 5
arr[5]: 6
arr[6]: 7
arr[7]: 8
====== end ======
char数组的结束符’\0’
arr
中共有4个字符,但是在内存里站5个字节,底5个为结束符'\0'
通常系统会在字符串的末尾自动加上'\0
来表示字符串的结束
int main(){
printf("====== start ======\n\n");
char arr[] = {"1234"};
printf("sizeof arr: %d\n", sizeof(arr));
printf("arr: %s\n", arr);
printf("\n======= end =======\n");
return 0;
}
试调信息
====== start ======
sizeof arr: 5
arr: 1234
======= end =======
防止运行出错
char arr[] = {"1234"};
char arr[] = {'1', '2', '3', '4', '\0'}; // 手动添加
char arr[5] = {"1234"}; // 预留空位