| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4490 人关注过本帖
标题:[求助]利用数组能控制汉字字符串吗?
只看楼主 加入收藏
cyl_jay
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2007-5-2
收藏
 问题点数:0 回复次数:9 
[求助]利用数组能控制汉字字符串吗?

c语言能处理汉字字符串吗?
我定义一个字符型一维数组
int i;
char[]="一二三四五六七八九";
for(i=0;i<20;i++)
printf("%c",a[i]);
这样能输出所有汉字,
但是数组不能对没一个元素定为,列如:printf("%c",a[2]),输出为"一"
但printf("%c",a[4]),输出为"一二"
能用i变量来控制数组里的每一个汉字吗???
请高手指教

搜索更多相关主题的帖子: 汉字 字符 
2007-05-02 22:16
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 

#include<stdio.h>
#include<math.h>

int main()
{
int i;
char a[10][3]={"零","一","二","三","四","五","六","七","八","九"}; //一个汉字占两个字节,另外再加一个'\0'字符.
for(i=0;i<10;i++)
printf("%s\t",a[i]);
return 0;
}


雁无留踪之意,水无取影之心
2007-05-02 22:24
wnxxn
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-5-2
收藏
得分:0 
帮忙看看
第一个 int a=1234;a=a&0377;printf("%d %o\n",a,a);
第二个 设有以下宏定义,则执行语句a=PP*20(a为int整型变量)a的值 是()
#define PR 80
#define PP PR+403
请问高手们怎么算出来的阿谢谢谢谢了!!!
2007-05-02 22:53
cyl_jay
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2007-5-2
收藏
得分:0 
回复:(PcrazyC)#include#include&l...

为什么用二维数组定义呢?

输出却为一维数组a[i],"%s"是什么型输出啊?
还有"return0"这条语句是什么意思啊?
谢谢!!!

2007-05-02 22:58
clearsky13
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-5-2
收藏
得分:0 
二个 设有以下宏定义,则执行语句a=PP*20(a为int整型变量)a的值 是()
#define PR 80
#define PP PR+403
请问高手们怎么算出来的阿谢谢谢谢了!!!
a=pp*20=80+403*20=8140
2007-05-02 23:26
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
以下是引用cyl_jay在2007-5-2 22:58:24的发言:

为什么用二维数组定义呢?

输出却为一维数组a[i],"%s"是什么型输出啊?
还有"return0"这条语句是什么意思啊?
谢谢!!!

1.二维数组是由多个一维数组组成的,二维数组A[10][3]代表十个A[3]这样的一维数组,我的每一行储存一个字符串(就是一个汉字加字符串结束符),共有十个,输出用%S输出,是以字符串输出,遇到字符串结束符('\0')结束,A[I]是一个一维数组,代表二维数组的第N行,我的每一个一维数组都是在最后有一个'\0',所以输出就正好就是一个一维数组所储存的(一个汉字).

2.我的main函数定义成返回一个整型的函数,最后要返回一个值给系统,一般程序运行正常返回0,如果中途出现问题,就会返回一个非0值给系统,也就执行不到return 0;这条语句,当执行这条语句就代表程序运行正常


雁无留踪之意,水无取影之心
2007-05-03 00:58
cyl_jay
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2007-5-2
收藏
得分:0 
回复:(PcrazyC)以下是引用cyl_jay在2007-5-2 22:58...

恩,懂了,也就相当于:
a[0]={'零','\0'}
a[1]={'一','\0'}
a[2]={'二','\0'}
..................
a[10][3]代表十行三列,3就代表一个汉字(2个字节)加上'\0'(一个字节)等于3个字节,是这样的吗?

"return0"作用是不是相当于一条检验语句,若我不用它程序也能正常执行.
如果我要在每个数组里输入多个汉字,令每N个汉字为一组:
a[0]={'张三','\0'}
a[1]={'李四','\0'}
....................
a[10][5] 请问这样能实现吗?

2007-05-03 11:23
wysaijun
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-4-25
收藏
得分:0 
2007-05-03 11:35
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
以下是引用cyl_jay在2007-5-3 11:23:13的发言:

恩,懂了,也就相当于:
a[0]={'零','\0'}
a[1]={'一','\0'}
a[2]={'二','\0'}
..................
a[10][3]代表十行三列,3就代表一个汉字(2个字节)加上'\0'(一个字节)等于3个字节,是这样的吗?

"return0"作用是不是相当于一条检验语句,若我不用它程序也能正常执行.
如果我要在每个数组里输入多个汉字,令每N个汉字为一组:
a[0]={'张三','\0'}
a[1]={'李四','\0'}
....................
a[10][5] 请问这样能实现吗?

a[0]={'零','\0'}
a[1]={'一','\0'}
a[2]={'二','\0'}
这样写还是有点问题,因为'零'是一个汉字,占两个字节,所以这样写还是有点不对,还是应该这样写a[0]="零";

a[10][5] 请问这样能实现吗? 这个你只要使空间足够就可以了,一个汉字占两个字节,再加一个结束符


雁无留踪之意,水无取影之心
2007-05-03 11:42
多布斯的喵喵
Rank: 2
等 级:论坛游民
帖 子:133
专家分:24
注 册:2011-3-29
收藏
得分:0 
回复 2楼 PcrazyC
高手!
2011-11-24 11:57
快速回复:[求助]利用数组能控制汉字字符串吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017231 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved