#include <stdio.h>
//在ubuntu下 每一个中文字符占3个字节
//相当与三个字符
int main(void)
{
int length;
//为了防止输入字符轻易超出数组长度
//一般情况下 定义的数组长度稍大
char str[20];
//%n的值是根据获取的字符串长度决定的
//可以在%s的s前添加一个长度 用于约束可接受字符量
//防止内存溢出
scanf("%19s%n",str,&length);
getchar();
printf("%s %d\n",str,length);
//sizeof该字符数组时,显示的是字符数组的长度
//而不是字符串的长度
printf("%d\n",sizeof(str));
return 0;
}
//在ubuntu下 每一个中文字符占3个字节
//相当与三个字符
int main(void)
{
int length;
//为了防止输入字符轻易超出数组长度
//一般情况下 定义的数组长度稍大
char str[20];
//%n的值是根据获取的字符串长度决定的
//可以在%s的s前添加一个长度 用于约束可接受字符量
//防止内存溢出
scanf("%19s%n",str,&length);
getchar();
printf("%s %d\n",str,length);
//sizeof该字符数组时,显示的是字符数组的长度
//而不是字符串的长度
printf("%d\n",sizeof(str));
return 0;
}