C语言中怎么用数组定义汉字?

比如我想定义一个两个元素的数组,a[0]=我
a[1]=你,怎么写阿?麻烦写的具体点,我是刚学的。
我用的是VC++编译器。

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:char a[20] = "我你";puts(a);。

3、编译器运行test.cpp文件,此时成功定义一个两个汉字的数组并打印了出来。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-08

用wchar_t类型来定义宽字符数组,即可保存汉字。

#include <stdio.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "chs");
wchar_t ws[] = L"我爱你中国!";
wprintf(L"%s\n",ws);
return 0;
}

注意:如果是单纯的输出汉字,直接使用printf()即可,不需要这么复杂,实例只是为了说明宽字符数组的使用。

第2个回答  推荐于2017-09-26
一个汉字是占两个字节,所以char a[0]=我这肯定是不对的,串的长度超过数组的长度了。
可以这样用字符串来定义:
char a[]="你我";
cout<<a[0]<<a[1]<<endl;
//输出 你
cout<<a[0]<<endl;//输出未知,因为一个汉字占两个字节,你只输出一个字节的话,没有人知道输出的是什么

如果用数组来定义,输出结果会很有意思
char t[]={'诶','外','婆','都'};//随便输入的几个汉字
cout<<t[0]<<t[1]<<t[2]<<endl;

cout<<t[0]<<t[1]<<t[2]<<t[3]<<endl;
cout<<t[2]<<t[3]<<endl;本回答被提问者采纳
第3个回答  2009-12-09
static char array[]={"你"};

接分。
相似回答