执行不了。#include<stdio.h>
char a[10];
int main()
{
void y();
printf("请输入一串字符:");
scanf("%s",a);
y();
printf("%s",a);
return 0;
}
void y()
{
int i,j;
char x;
for(i=9;i>=1;i--)//9ci
for(j=1;j<=i;j++)
if(a[j-1]>a[j])
{
a[j-1]=x;a[j-1]=a[j];a[j]=x;
}
}
1 回答
习惯受伤
TA贡献885条经验 获得超1144个赞
大致有四个问题,1,void y();是函数声明语句,应该放在main函数外边。2,y这个函数内的排序算法有问题,你可以将数字带入程序做个测试。3,循环的起始值应该是0,而不是1,因为c语言的下标是从零开始。4,i=9那一句,逻辑有问题,你确定你输入的字符串长度正好是9个吗?如果不是就改成len(a)。
- 1 回答
- 0 关注
- 1302 浏览
添加回答
举报
0/150
提交
取消