執(zhí)行不了。#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 回答

習(xí)慣受傷
TA貢獻(xiàn)885條經(jīng)驗(yàn) 獲得超1144個(gè)贊
大致有四個(gè)問題,1,void y();是函數(shù)聲明語句,應(yīng)該放在main函數(shù)外邊。2,y這個(gè)函數(shù)內(nèi)的排序算法有問題,你可以將數(shù)字帶入程序做個(gè)測試。3,循環(huán)的起始值應(yīng)該是0,而不是1,因?yàn)閏語言的下標(biāo)是從零開始。4,i=9那一句,邏輯有問題,你確定你輸入的字符串長度正好是9個(gè)嗎?如果不是就改成len(a)。
- 1 回答
- 0 關(guān)注
- 1333 瀏覽
添加回答
舉報(bào)
0/150
提交
取消