字串大小的不同求法與區別

想去吹吹海風發表於2020-10-10

九行printf中;
前三行為字串的不同錄入方法
中三行為字串的sizeof求大小區別
後三行為字串的strlen求大小區別
原始碼如下:
#include<stdio.h>
#include<windows.h>
int main()
{
 char arr1[] = “bit”;
 char arr2[] = { ‘b’, ‘i’, ‘t’ };
 char arr3[] = {‘b’,‘i’,‘t’,’\0’ };//突出\0的重要性,字串的結束標誌是一個 \0 的轉義字元。在計算字串長度的時候 \0 是結束標誌,不算作字串內容。
 printf("%s\n", arr1);
 printf("%s\n", arr2);
 printf("%s\n", arr3);
 printf("%d\n", sizeof(arr1));//包含結束字元\0
 printf("%d\n", sizeof(arr2));//由於沒有結束字元,所以出現亂碼
 printf("%d\n", sizeof(arr3));//包含結束字元\0
 printf("%d\n", strlen(arr1));//不包含結束字元\0
 printf("%d\n", strlen(arr2));//統計了“{}”裡的所有字元
 printf("%d\n", strlen(arr3));//不包含結束字元
 system(“pause”);
}

在這裡插入圖片描述

相關文章