c语言中将字符串存在数组中?

c语言中将字符串存在数组中,就是inta[20];gets(a);这样输入没问题,再输出字符串也是对的,但是要是按整数输出数组a,输出的不是对应字符的asc2码,是乱七八... c语言中将字符串存在数组中,就是
int a[20];

gets(a);
这样输入没问题,再输出字符串也是对的,但是要是按整数输出数组a,输出的不是对应字符的asc2码,是乱七八糟的数字,即printf("%d %d %d",a[0],a[1],a[2]);这样我就没法对字符串排序了...那些乱七八糟的数字是什么?是地址吗?要是地址的话,我在比较的时候用if(&a[i]>&a[j])也不行。。。应该怎么弄?那个题的要求是把字符串存在数组里,然后按asc2码对字符串中的有效字符降序排列,有效字符是什么??急~~~~
谢谢~~~~
展开
 我来答
Worldwill
2009-12-25 · TA获得超过357个赞
知道小有建树答主
回答量:219
采纳率:0%
帮助的人:168万
展开全部
“把字符串存在数组里”你理解错误了,数组不一定是“数的组合”,数组只不过是一段连续的存储空间。
所以如果是:
char a[20];//这就是字符串a,里面的内容才是字符;
百度网友dad142f
2009-12-25 · TA获得超过9906个赞
知道大有可为答主
回答量:1548
采纳率:100%
帮助的人:1897万
展开全部
这个不会出现你说的问题吧,输出地是正常的ASCII码的值。比较的时候直接用if(a[i]>a[j])就可以啊……(我用visual C++编译器和turbo C/C++3.0测试通过!)
至于有效字符就是指非空字符,也就是'\0'字符之前的字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一枪爆三个
2009-12-25 · TA获得超过725个赞
知道小有建树答主
回答量:334
采纳率:0%
帮助的人:330万
展开全部
这个问题可能是你输入字符串的时候有空格或者回车键,这些是被当做字符存入数组的,所以输出时,他们也会按照ASC码输出的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
taohua300
2009-12-25 · TA获得超过529个赞
知道小有建树答主
回答量:722
采纳率:0%
帮助的人:678万
展开全部
gets(a);把你输入的数作为一个串放到数组中了,printf也把它解释为一个串,即分别是从a[0],a[1],a[2]开始的串
试一下使用循环逐个输入 ?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式