c++关于指向指针的指针的入门问题
/*将4个字符串”Asia”,”America”,”Europe”,”Africa”
按由小到大的顺序输出。要求用指向指针的指针完成。*/
#include<iostream>
#include<string>
using namespace std;
void change(const char* str1,const char* str2) {
char temp = *str1;
str1 = str2;
str2 = &temp;
}
int main() {
const char** p;
const char*name[] = {"Asia", "America", "Europe", "Africa"};
for (int i = 0; i < 4; i++) {
cout << name[i] << " ";
}
cout << '\n'<<"这四个字符串按从小到大排序为" << endl;
p = name;
for (int i = 0; i < 3; i++) {
if (strcmp(*(p+i), *(p+i+1))>0){
change (*(p+i),*(p+i+1));
}
}
for (int i = 0; i < 4; i++) {
cout << *(p + i) << " ";
}
return 0;
}
运行后输出的字符顺序仍旧没有排序好,还是原来的顺序
检查了p指针,没有发现问题,不知道具体问题出在哪里了
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”