4个回答
展开全部
一般情况下,应用程序采用的字符集为gbk,
gb2312,该字符集中一个汉字由两个字节组成,所以在普通的c语言中,汉字是按字符串进行存储和输出的。(另:还有utf8字符集,一个汉字由三个字节组成,详情可查阅utf8字符集)
char
*
p
=
"张三";
输出多个中文:
printf("%s\n",
p
);
//按字符串输出完整的数据
输出一个中文:
printf("%c%c",
*p,
*p+1
);
//按字符输出,同时输出两个字节
输出一个中文串的长度:
printf("sizeof(p)=%d\n",
sizeof(p)
);
//p变量是指针,所以,这里输出的是指针的宽度,一般32位机是4
printf("sizeof(张)=%d\n",
sizeof("张")
)
;
// "张"是个常量字符串,sizeof是得到其占内存的大小,字符串都有一个结束符,一个”张“字占两字节,加上字符串结束\0,所以,占三个字节的内存空间
printf("length
of
(张)=
%d\n",
strlen("张")
);
//strlen得到的是字符串有效字符长度(字节数),不包括结束符,所以,长度是两个字节
gb2312,该字符集中一个汉字由两个字节组成,所以在普通的c语言中,汉字是按字符串进行存储和输出的。(另:还有utf8字符集,一个汉字由三个字节组成,详情可查阅utf8字符集)
char
*
p
=
"张三";
输出多个中文:
printf("%s\n",
p
);
//按字符串输出完整的数据
输出一个中文:
printf("%c%c",
*p,
*p+1
);
//按字符输出,同时输出两个字节
输出一个中文串的长度:
printf("sizeof(p)=%d\n",
sizeof(p)
);
//p变量是指针,所以,这里输出的是指针的宽度,一般32位机是4
printf("sizeof(张)=%d\n",
sizeof("张")
)
;
// "张"是个常量字符串,sizeof是得到其占内存的大小,字符串都有一个结束符,一个”张“字占两字节,加上字符串结束\0,所以,占三个字节的内存空间
printf("length
of
(张)=
%d\n",
strlen("张")
);
//strlen得到的是字符串有效字符长度(字节数),不包括结束符,所以,长度是两个字节
展开全部
这个跟系统有关系~如果用的是Turbo C那是不可能切换到中文的~现在的VC++6.0就没有问题,你要先看看自己的软件版本支持不支持中文~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是在双引号里输入中文就行了。
如
printf("我的第一个c语言程序设计");
如
printf("我的第一个c语言程序设计");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用的是TC环境吧?TC的话只能是英文形式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询