开发者社区> 问答> 正文

为什么这段代码执行不了,我实在找不出错误,求各位大神搭救

#include 

using namespace std; 
int main()
{
void bubble_sort(char *name[ ],int n);//函数声明,下同
void print(char *name[ ],int n);
char *dept[11]={"管理系","国际经贸系","计算机系","电子系","数码媒体系","外语系","软件工程系","网络技术系","游戏系","基础部","思政部"};
bubble_sort(dept,11);//调用冒泡排序函数
print(dept,11);//调用输出多个字符串函数
return 0;
}
void bubble_sort(char *name[ ],int n)//冒泡排序函数
{
char k;
for(int i=n-1;i>=0;i--)
{
for(int j=0;j {
if(strcmp(name[j],name[j+1])>0)
{
k=*name[j];
*name[j]=*name[j+1];
*name[j+1]=k;
}
    }
}
//程序代码段1
}
void print(char *name[ ],int n)//输出多个字符串函数
{
for(int i=0;i<n;i++)
cout<<*name[i]<<endl;
//程序代码段2
}

展开
收起
a123456678 2016-03-05 16:43:46 1995 0
1 条回答
写回答
取消 提交回答
  • k=*name[j];
    name[j]=name[j+1];
    *name[j+1]=k;
    这块代码是什么意思?是想将两个字符串进行交换吗?最上面一句只是得到一个字符啊。
    char *k = NULL;
    f(strcmp(name[j],name[j+1])>0)
    {
    k = name[j];
    name[j]=name[j+1];
    name[j+1]=k;
    }
    这样才对吧。

    2019-07-17 18:53:47
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
代码未写,漏洞已出——谈谈设计不当导致的安全问题 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载