原创
sizeof()和strlen()的区别.(C)
- #include <stdio.h>
int main(void)
{
char msg[] = "Hello Nios!";
printf("sizeof(msg) = %ld", sizeof(msg));
return 0;
}
- sizeof(msg) = 12
- #include <stdio.h>
#include <string.h>
int main(void)
{
char msg[] = "Hello Nios!";
printf("strlen(msg) = %ld", strlen(msg));
return 0;
}
- strlen(msg) = 11
可见,strlen(msg)是字符串msg的真实长度,而sizeof(msg)是字符串msg的存储长度。存储长度比真实长度大1。
另外,strlen()需要string.h支持,但sizeof()不需要string.h支持。因此使用sizeof()-1既可得到字符串的正式长度,又可节省开销。
文章评论(0条评论)
登录后参与讨论