C语言中文字符

C语言中如何定义中文字符,然后输出??注意就是一个中文字符。例如'中'。

  在C语言中,如果输出中文字符,可以通过printf函数直接输出。printf函数在内部提供这种机制,实现宽字符的转换,因此都可以正常输出,比如:

printf("中文测试\n");

  另外也可以使用wprintf来输出存储在变量的中文字符,需要进行语言的区域设置。示例如下:示例如下,输出宽字符“中”字。

#include <stdio.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "chs");
wchar_t wc = L'中';
wprintf(L"%c\n",wc);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-10-16
在c语言中一个中文字符只能用字符串来表示,因为一个汉字是由多个字节组成的,如:GBK字符集下一个汉字占两个字节,UTF8下占三个字符,因此,不能按英文单字符来输出。

#include <stdio.h>
int main()
{
char chn[]="中“;
printf("%s\n", chn );
return 0;
}追问

CRT的多字节字符集里,有些字符一个字节组成,有些是两个字节组成,到底哪些是一个字节,哪些是两个字节呢?谢谢回答。

追答

一般英文字符都是一个字节
而汉字或其他亚洲字符(甚至包括一些拉丁字符)都会是两个或两个以上字节来表示
具体情况还要分字符集。详情可查阅字符集相关资料。

本回答被提问者采纳
第2个回答  2014-09-27
#include <stdafx.h>

int main()
{
char *str="中";
printf(str);

return 0;
}
相似回答