程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c-指針數組兩種排序方法結果大相徑庭,求大神指導

c-指針數組兩種排序方法結果大相徑庭,求大神指導

編輯:編程解疑
指針數組兩種排序方法結果大相徑庭,求大神指導

#include
#include
int main()
{
void rankArr(char *pr[]);
char *p[]={"china","japan","tokyo","pairs","narry"};

int i;
for(i=0;i printf("%s\n",p[i]);
rankArr(p);
for(i=0;i printf("%s\n",p[i]);
return 0;
}
void rankArr(char *pr[])
{
char *temp;
int i , j ;
for(i=0;i {
for(j=i+1;j {
if(strcmp(pr[i],pr[j])>0);
{
temp=pr[j];
pr[j]=pr[i];
pr[i]=temp;
}
}
}
}

/*void rankArr(char pr[])
{
char *temp;//定義交換時存儲臨時變量的字符串單元
int i, j;
for( i=0;i {
for( j=0;j {
if(strcmp(pr[j],pr[j+1])>0)
{
temp=pr[j+1];
pr[j+1]=pr[j];
pr[j]=temp;
}//調用內置函數完成交換字符串
}
}
}
/

最佳回答:


if(strcmp(pr[i],pr[j])>0);
這裡多了一個逗號,導致後面的交換不在判斷中,而是每次都執行。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved