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码对字符串中的有效字符降序排列,有效字符是什么??急~~~~
谢谢~~~~ 展开
int a[20];
gets(a);
这样输入没问题,再输出字符串也是对的,但是要是按整数输出数组a,输出的不是对应字符的asc2码,是乱七八糟的数字,即printf("%d %d %d",a[0],a[1],a[2]);这样我就没法对字符串排序了...那些乱七八糟的数字是什么?是地址吗?要是地址的话,我在比较的时候用if(&a[i]>&a[j])也不行。。。应该怎么弄?那个题的要求是把字符串存在数组里,然后按asc2码对字符串中的有效字符降序排列,有效字符是什么??急~~~~
谢谢~~~~ 展开
展开全部
这个不会出现你说的问题吧,输出地是正常的ASCII码的值。比较的时候直接用if(a[i]>a[j])就可以啊……(我用visual C++编译器和turbo C/C++3.0测试通过!)
至于有效字符就是指非空字符,也就是'\0'字符之前的字符。
至于有效字符就是指非空字符,也就是'\0'字符之前的字符。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题可能是你输入字符串的时候有空格或者回车键,这些是被当做字符存入数组的,所以输出时,他们也会按照ASC码输出的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
gets(a);把你输入的数作为一个串放到数组中了,printf也把它解释为一个串,即分别是从a[0],a[1],a[2]开始的串
试一下使用循环逐个输入 ?
试一下使用循环逐个输入 ?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询