strlen遇到汉字会怎样?

2026年09月21日 06:00
有5个网友回答
网友(1):

strlen 在处理汉字串时,与处理一般的英文串是一样的,就是计算从串首地址开始检查到'\0'字符的位置,然后计算两个地址的差,返回差值,也就是字符串中有多个字符(字节)

'\0'字符不是汉字的组成部分!

对于一个汉字占几个字节,不同的字符集是不同的,
如果环境变量设置为utf8,则一个汉字占三个字节
如果设置成gbk类,则一个汉字占两个字节

网友(2):

一个汉字占2个字符长度,如下输出10。
#include "stdio.h"
#include
void main()
{
char str[20]="我爱你祖国";

printf("%d\n",strlen(str));
}

网友(3):

一个汉字等于三个字符长度(utf8编码)

网友(4):

夜读离骚拥地炉。。

网友(5):

阿斯顿古代有城管打dhAGDHGDSG VF HGDVGFF VHudbcgfd活动背景嘎巴和功夫城管为股份为故事呢