C语言中,想要给一个变量个赋值为汉字,该变量应该是什么数据类型的啊?

在C++中,如何输入汉字,汉字以何种数据类型存储、输出?
为什么我的 ms vc++ 运行的时候不能输入中文的啊?
还有啊,我用 字符数组行不行啊 char hanzi[10];
这样可以输入几个汉字啊?

从汉字存储来说:
1。如果你输入的汉字时多字节(ANSI),那么它占用两个字节,需要用short类型。
2。如果你输入的汉字时宽字节(UNICODE),那么它也是占用连个字节,使用short就可以了。
3。如果你输入的汉字是多字节(UTF8),那么很不幸,它可能是1~3字节,所以最好使用long类型。

char - 1字节
short - 2字节
long - 4字节

贴出你的代码,再来说事。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-05
#include <stdio.h>
void main(void){
char str[9];
printf("输入4个汉字:\n");
scanf("%s",str);
printf("%c%c %c%c\n", str[0],str[1],str[6],str[7]);
printf("%s\n",str);
}
测试结果:
输入4个汉字:
天都凉了
天 了
天都凉了本回答被提问者采纳
第2个回答  2009-06-02
LPCWSTR str = L"中出";
酱子就行了~~
也可以
wchar_t[10] s = L"高树";

用char是不行的,因为它只占一个字节,而一个中文字符要占两个字节,所以要用wchar_t
第3个回答  2009-05-31
无所谓啊

#include<tchar.h>
void main()
{
char p[] = "我是中国人";
wchar_t p1[] = L"我爱我的祖国";
}

都可以
第4个回答  2009-06-01
只能用字符数组吧
相似回答