三个字符串有小到大排序问题

半截楼伯爵 2017-09-22 11:34:49
最近学到指针,遇到如题的问题,运行不出结果,还请各位不吝赐教,指点一二,多谢。
#include<iostream>
using namespace std;
int main()
{
const int n = 3;
char *name[n], *temp;
int i, j, k;
cout << "Please enter " << n << " names:" << endl;
for (i = 0; i < n; i++)
cin >> name[i];
cout << "Sorted order is:" << endl;
for (i = 0; i < n - 1; i++)
{
k = i;
for (j = i + 1; j < n; j++)
if (strcmp(name[i], name[j]) > 0)
k = j;
if(k!=i)
{
temp = name[i]; name[i] = name[k]; name[k] = temp;
}
}
for (i = 0; i < n; i++)
cout << name[i] << ' ';
cout << endl;
return 0;
}
...全文
66 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
AlbertS 2017-09-23
  • 打赏
  • 举报
回复
你没有申请空间啊
char *name[n], *temp;
改成
char* temp;
char name[n][128] = {0};
试试

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧