[問題] 關於字串sort
小弟胡思亂想想出一個字串要排序的問題
但是怎麼跑卻都跑不出來
題目是自行輸入8個字串
然後比較大小做排序
限制是"宣告時使用char *str[8]",而不使用二維陣列
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
char *str[8];
int i,j;
int k,l,z;
int flag;
char temp[10];
for(i=0;i<8;i++){
scanf("%s",&str[i]);
}
for(j=0;j<8;j++)
{
printf("%s\t",&str[j]);
}
for(k=0;k<8;k++){
for(l=0;l<7;l++){
flag=strcmp(str[l],str[l+1]);
if(flag>0)
{
strcpy(temp,str[l]);
strcpy(str[l],str[l+1]);
strcpy(str[l+1],temp);
}
}
}
printf("\n");
for(z=0;z<8;z++){
printf("%s\t",&str[z]);
}
system("pause");
return 0;
}
基本上在讀入8個字串及輸出那前兩個迴圈都沒問題
雖然我還是不很清楚為什麼要用&str[i]及&str[j] 而不是用*str[i]或是str[i]
然後再k,l迴圈那就出了問題...
如果照上面&str[i]那邊要使用"&"才能以字串方式呈現的話
在比較大小時應該也是同樣型態要用"&" 如&str[l]
但如果用&的話則錯誤更多
整個指來指去都已經不知道指到哪兒了@@
請板上眾高手幫忙debug一下
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.52.104
推
07/15 12:44, , 1F
07/15 12:44, 1F
推
07/15 20:46, , 2F
07/15 20:46, 2F
推
07/16 18:26, , 3F
07/16 18:26, 3F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章