无法成功调用函数
题目要求:在主函数中输入10个等长字符串。用另一函数对其进行排序。#include<iostream>
#include<string>
using namespace std;
void sort(string* a);
int main()
{
string a;
int i;
cout << "初始化数组:";
for (i = 0; i < 10; i++)
cin >> a;
string* p;
p = &a;
sort(p);
return 0;
}
void sort(string* a)
{
int i, j;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10-i; j++)
{
if (*(a + j) > * (a + j + 1))
{
string temp;
temp = *(a + j + 1);
*(a + j + 1) = *(a + j);
*(a + j) = temp;
}
}
}
cout << "排序后得:";
for (i = 0; i < 10; i++)
cout << a << " ";
}
上述是我写的代码,生成解决方法的时候没有报错,就是调试的时候,输入10个等长字符串以后,不显示重新排序后的结果 楼主,你发一下你输入的内容吧 你看 这个行不行,我也是刚学c++,不太理解字符串的排序,不知道字符串的大小是怎么比较的,改了一下
#include<iostream>
#include<string>
#include<stdlib.h>
using namespace std;
void sort(string* a);
int main()
{
string a;
int i;
cout << "start new array:" << endl;
for (i = 0; i < 10; i++)
{
cout << "a[" << i <<"]" << "is : ";
cin >> a;
}
string* p;
p = &a;
sort(p);
system("pause");
return 0;
}
void sort(string* a)
{
int i, j;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10-i; j++)
{
if (*(a + j) > * (a + j + 1))
{
//cout << *(a +j) << endl;
string temp;
temp = *(a + j + 1);
*(a + j + 1) = *(a + j);
*(a + j) = temp;
}
}
}
cout << "the result is:" << endl;
for (i = 0; i < 10; i++)
cout << "a[" << i << ']' << ":"<< a << endl;
}
小甲鱼的铁粉 发表于 2020-7-11 10:52
你看 这个行不行,我也是刚学c++,不太理解字符串的排序,不知道字符串的大小是怎么比较的,改了一下
您能给说一下我的那个代码错在哪了吗 小甲鱼的铁粉 发表于 2020-7-11 10:35
楼主,你发一下你输入的内容吧
我输入的内容和你的差不多 巨兔12138 发表于 2020-7-11 11:03
您能给说一下我的那个代码错在哪了吗
别别别用您{:10_250:},你的代码没有错啊,我只是改进了一下 小甲鱼的铁粉 发表于 2020-7-11 10:52
你看 这个行不行,我也是刚学c++,不太理解字符串的排序,不知道字符串的大小是怎么比较的,改了一下
您好,我用的vs2019,我使用了和您相同的代码,输入的相同的数据,可是还是得不到正确结果{:5_104:} 巨兔12138 发表于 2020-7-11 11:17
您好,我用的vs2019,我使用了和您相同的代码,输入的相同的数据,可是还是得不到正确结果
奇怪{:10_243:} 要不你用我的代码运行一下啊,给我截个运行框的图? 小甲鱼的铁粉 发表于 2020-7-11 11:46
要不你用我的代码运行一下啊,给我截个运行框的图?
您的代码我也无法正常运行 小甲鱼的铁粉 发表于 2020-7-11 11:46
要不你用我的代码运行一下啊,给我截个运行框的图?
我不会发图片,我就把运行框里的内容给您复制下来吧,如下:
start new array:
ais : z
ais : s
ais : d
ais : f
ais : g
ais : h
ais : j
ais : k
ais : l
ais : a
E:\C++.Program\188.11\Debug\188.11.exe (进程 13352)已退出,代码为 -1073741819。
按任意键关闭此窗口. . . 巨兔12138 发表于 2020-7-11 12:57
您的代码我也无法正常运行
你别用您了{:10_245:},这太。。。。。 你用你自己的代码,运行一下,截个图,我瞅瞅咋会呀{:10_257:} 小甲鱼的铁粉 发表于 2020-7-11 12:59
你用你自己的代码,运行一下,截个图,我瞅瞅咋会呀
我的代码也是这个结果,初始化了以后不显示重新排序后的结果 巨兔12138 发表于 2020-7-11 12:58
我不会发图片,我就把运行框里的内容给您复制下来吧,如下:
start new array:
ais : z
嗯 好 我也不会了,要不然重启电脑{:10_250:}?vscode确实容易出问题 小甲鱼的铁粉 发表于 2020-7-11 13:10
我也不会了,要不然重启电脑?vscode确实容易出问题
嗯嗯好的,还是谢谢啦 学习下
页:
[1]