草鱼君 2022-12-19 19:13 采纳率: 100%
浏览 57
已结题

c++简单指针问题,有偿,请诸君解决

编写函数SwapCharPointer()实现交换两个字符型指针的值的功能。例如,已知“char *s1="teacher";char *s2="student";”,执行“SwapCharPointer(&s1,&s2);”或“SwapCharPointer(s1,s2);”后s1指向字符串“student”的首地址,s2指向字符串“teacher”的首地址。 程序会输入两个字符串s1,s2;在进行调换后输出调换后的s1,s2

Sample Input 0

student
teacher

Sample Output 0

teacher
student

  • 写回答

5条回答 默认 最新

  • 快乐鹦鹉 2022-12-19 19:19
    关注

    用指针的指针的话,直接交换指针地址即可

    #include <iostream>
    using namespace std;
    void SwapCharPointer(char** s1, char** s2) {
        char* temp = *s1;
        *s1 = *s2;
        *s2 = temp;
    }
    int main() {
        char s1[100],s2[100],*p = s1,*q=s2;
        cin.getline(p,100);
        cin.getline(q,100);
        SwapCharPointer(&p, &q);
        cout << p << endl; 
        cout << q << endl; 
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 12月27日
  • 已采纳回答 12月19日
  • 创建了问题 12月19日

悬赏问题

  • ¥15 Matlab在app上输入带有矩阵形式的初始条件发生错误
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题
  • ¥15 用ADS设计一款的射频功率放大器