32060049 2015-11-23 08:21 采纳率: 94.4%
浏览 2610

C语言指针冒泡排序问题

#include
#include

int main(){
void sort(char *name[],int n);
char * alphabet[ ]={"Follow me","BASIC","Great Wall","FORTRAN","Computer design"};
int n = 5;
sort(alphabet,n);
for(int i=0;i<5;i++)
printf("%s\n",alphabet[i]);
return 0;
}

void sort(char *name[],int n){
int i=0,j=0;
char *temp;
for(;i<=4;i++){
for(;j<=n-j-1;j++){
if(strcmp(name[j],name[j+1])>0){
temp = name[j];
name[j] = name[j+1];
name[j+1] = temp;
}
}
}
}

    代码如上,想要通过ASCII码来比较alphabet中的字符串,并按照英文字母的顺序输出。函数SORT重用的冒泡排序,但输出的结果里只有第一位和第二位正确调换了位置,不知道问题出在哪里?请指教!万分感谢!!!
  • 写回答

1条回答 默认 最新

  • Meditator_hkx 2015-11-23 08:35
    关注

    temp 是个指针,怎么可以赋值给字符?
    应该声明为变量 char temp;
    还有问题就是代码相当不规范。。。

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable