请教一个C语言strlen和sizeof的问题

2025-02-26 13:32:56
推荐回答(2个)
回答1:

strlen必须用在'\0'字符结尾的字符串上,否则结果就是不确定的……

回答2:

sizeof 是关键字 其参数可以是类型 也可以是对象,也可以是表达式,当是表达式时不对表达式进行运算 。可以如下测试
int i=0;
sizeof(i=100);
printf("%d",i);
strlen 是函数其参数要求 const char *对象或者可以转换成const char *
同时其要求 参数字符串以 \0 结尾,否则结果不正确,也可能内存访问冲突。
你的strlen(cr)的结果是不可预测的。