C语言中,怎么用数组存中文?详见描述

我想用一个数组存3个人的中文名字;思路是这样的#include<stdio.h>intmain(void){charName[3][5]={'张三','李四','王五'}... 我想用一个数组存3个人的中文名字;思路是这样的
#include <stdio.h>
int main(void)
{
char Name[3][5] = {'张三','李四','王五'};
//我认为我这么定义的是一个一维数组,含有三个元素,每个元素占5字节
//为什么CHAR类型的要这么定义呢?要是换成INT的不就成了多为数组了吗?
//如果这么定义的是个一维数组,那char类型的多为数组怎么定义呢?
printf("%s",name[2]);
//我认为这个输出的结果应该是“王五”,结果什么也没有啊,这是为啥呢?
return 0;
}
展开
 我来答
478617
2015-05-05 · TA获得超过875个赞
知道小有建树答主
回答量:725
采纳率:100%
帮助的人:95万
展开全部

这么定义是由于c语言中没有字符串数据类型

所以使用字符串时需要使用char的一维数组来表示字符串。

所以字符串数组就是char的二维数组

按照你给的代码,正规的C编译器会编译错误的。字符串是用"来界定的。

处理中文可以用char或wchar_t

#include <stdio.h>
int main(void)
{
char Name[3][5] = {"张三","李四","王五"};
printf("%s",Name[2]);
return 0;
}

或者

#include <stdio.h>
#include <locale.h> 
#include <wchar.h>

int main(void)
{
setlocale( LC_ALL, "" );
wchar_t Name[3][3] = {L"张三",L"李四",L"王五"};
wprintf(L"%s", Name[2]);
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式