建立一个汉字数组,输出它们,为什么有错
答案:2 悬赏:10
解决时间 2021-01-08 04:52
- 提问者网友:雾里闻花香
- 2021-01-07 13:05
建立一个汉字数组,输出它们,为什么有错
最佳答案
- 二级知识专家网友:轮獄道
- 2021-01-07 14:29
#include
int main()
{
char a[][20]={"工","一","有","我"};
printf("%s
",a[0]);
printf("%s
",a[1]);
printf("%s
",a[2]);
printf("%s
",a[3]);}
你上面汉字也是一个字符串啊。。。要加英文下的引号
追问为什么要建二维数组呢,不应该是一维的吗追答一个汉字占两位
那么"工" 实际占2位内存
那就不是一维的了
这样定义是一维的
如
char s[]="123456";
或
char s[]={'a','b','c'}
现在是一个汉字 就是相当于
char s[][2]={"ab","bc","cd"}
知道了吧
全部回答
- 1楼网友:孤独的牧羊人
- 2021-01-07 14:58
和char型一个字符占1个字节不同,一个汉字占两个字节,所以需要用字符串的方式输出。
或者你如果知道这些汉字的两个字节的编码,可以printf("%c%c", x,x) (x表示两个编码),也可以输出一个汉字。
或者你如果知道这些汉字的两个字节的编码,可以printf("%c%c", x,x) (x表示两个编码),也可以输出一个汉字。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯