C语言——C++的引用

描述

使用C++的引用,注意提交时把代码选为C++;在主函数定义字符指针 char *p,然后在子函数内malloc申请空间(大小为100个字节),通过fgets读取字符串,然后在主函数中进行输出;要求子函数使用C++的引用,注意在C++中从标准输入读取字符串,需要使用fgets(p,100,stdin)

输入

输入一个字符串,例如 I love C language

输出

如果输入的是I love C language,那么输出也是I love C language

输入样例 1

复制代码
I love C language

输出样例 1

复制代码
I love C language

输入样例 2

复制代码
how are you

输出样例 2

复制代码
how are you

C++代码:

cpp 复制代码
#include <iostream>
#include <cstdlib>  // 包含malloc、free
#include <cstdio>   // 包含fgets
using namespace std;

// 子函数:通过引用操作主函数的char*指针
void getInputString(char* &p) {
    // 申请100字节内存
    p = (char*)malloc(100);
    // 从标准输入读取字符串
    fgets(p, 100, stdin);
}

int main() {
    char* p = nullptr;  // 主函数定义字符指针
    getInputString(p);  // 调用子函数(引用传递)
    cout << p << endl;  // 输出读取的字符串
    free(p);            // 释放内存,避免泄漏
    return 0;
}
相关推荐
小龙报1 小时前
【算法通关指南:数据结构与算法篇(五)】树的 “自我介绍”:从递归定义到存储绝技(vector vs 链式前向星)
c语言·数据结构·c++·算法·链表·启发式算法·visual studio
San30.1 小时前
深入 JavaScript 原型与面向对象:从对象字面量到类语法糖
开发语言·javascript·ecmascript
皖南大花猪1 小时前
Go 项目中使用 Casbin 实现 RBAC 权限管理完整教程
开发语言·后端·golang·rbac·casbin
点云SLAM1 小时前
C++包装器之类型擦除(Type Erasure)包装器详解(4)
c++·算法·c++17·类型擦除·c++高级应用·c++包装器·函数包装
源代码•宸1 小时前
GoLang写一个火星漫游行动
开发语言·经验分享·后端·golang
小尧嵌入式1 小时前
C++中的封装继承多态
开发语言·arm开发·c++
csbysj20201 小时前
Redis 配置详解
开发语言
行走在电子领域的工匠1 小时前
台达ST:自定义串行通讯传送与接收指令COMRS程序范例四
开发语言·台达plc·st语言编程
t198751281 小时前
基于因子图与和积算法的MATLAB实现
开发语言·算法·matlab