在计算字符串长度时, strlen和sizeof对同一字符串计算的结果不同.
int main() {
char arr[] = "Welcome to China!!!!"; // 此时字符串种实际存储的是"Welcome to China!!!!\0", \0为一个字符;
int sz = strlen(arr); //求字符串长度;
int sz1 = sizeof(arr) / sizeof(arr[0]);
printf("使用strlen计算的字符串长度为:%d\n", sz); //20,strlen计数时,遇到\0就停止计数;
printf("使用sizeof计算的字符串长度为:%d\n", sz1); //21, sizeof会把\0也计算在内;
// 附加功能, 字符逐渐向中心靠拢
int left = 0;
int right = strlen(brr) - 1;
while (left <= right) {
brr[left] = arr[left];
brr[right] = arr[right];
left++;
right--;
printf("%s\n", brr);
}
return 0;
}