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;
} 展开
#include <stdio.h>
int main(void)
{
char Name[3][5] = {'张三','李四','王五'};
//我认为我这么定义的是一个一维数组,含有三个元素,每个元素占5字节
//为什么CHAR类型的要这么定义呢?要是换成INT的不就成了多为数组了吗?
//如果这么定义的是个一维数组,那char类型的多为数组怎么定义呢?
printf("%s",name[2]);
//我认为这个输出的结果应该是“王五”,结果什么也没有啊,这是为啥呢?
return 0;
} 展开
1个回答
展开全部
所以使用字符串时需要使用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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询