執行不了。#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 關注
- 1336 瀏覽
添加回答
舉報
0/150
提交
取消