如题所述
c语言字符串包含字符个数, 可以用 strlen() 测定字符串长度,用 sizeof()() 测定字符串占用内存多少字节。
c语言字符串中,可以含有 “转义字符”(escape sequence),
例如: \r \n \t \\ 八进制数码 \0123 十六进制数码 \xab, 不可见字符串结束符 \0 等。
所以不能以打字时按了几次键,或一个字符一个字符地去数,那样判断。
程序例子,判断 "abc\0123\xab\n" 的字符串长度和占用内存多少字节:
#include <stdio.h>
int main()
{
char s[]="abc\0123\xab\n";
printf("%d %d\n",strlen("abc\0123\xab\n"),sizeof("abc\0123\xab\n")); //方法一
printf("%d %d\n",strlen(s),sizeof(s)); //方法二
return 0;
}
输出
7 8 //方法一,用字符串常量。
7 8 //方法二,用字符串变量s。
c语言字符串中,可以含有 “转义字符”(escape sequence),
例如: \r \n \t \\ 八进制数码 \0123 十六进制数码 \xab, 不可见字符串结束符 \0 等。
所以不能以打字时按了几次键,或一个字符一个字符地去数,那样判断。
程序例子,判断 "abc\0123\xab\n" 的字符串长度和占用内存多少字节:
#include <stdio.h>
int main()
{
char s[]="abc\0123\xab\n";
printf("%d %d\n",strlen("abc\0123\xab\n"),sizeof("abc\0123\xab\n")); //方法一
printf("%d %d\n",strlen(s),sizeof(s)); //方法二
return 0;
}
输出
7 8 //方法一,用字符串常量。
7 8 //方法二,用字符串变量s。
温馨提示:答案为网友推荐,仅供参考