请问哪里错了?

#include<stdio.h>chara[10];main(){voidqq();inti;printf("请输入十个字符:");for(i=0;i<10;i++)s... #include<stdio.h>
char a[10];
main()
{void qq();
int i;
printf("请输入十个字符:");
for(i=0;i<10;i++)
scanf("%c",a[i]);
qq();
printf("由小到大排列后:");
for(i=0;i<10;i++)
printf("%c",a[i]);
}

void qq()
{
int i,j;char t;
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
{
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
}
展开
 我来答
liubird
2011-12-04 · TA获得超过1932个赞
知道小有建树答主
回答量:898
采纳率:100%
帮助的人:943万
展开全部
scanf("%c",a[i]); 这一句错了,a[i]要加上取地址符号&, 修改为: scanf("%c",&a[i]);
追问
后来我加了,可为什么只能输出前5个字符的排列呢?有人说我:引用的qq函数根本没用上,在main里定义的a,跟qq里的a没有一点关系。。。
不懂, 求指教!!!
追答
你输入的时候字符之间加空格了吧,空格也是一个字符的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式