为了账号安全,请及时绑定邮箱和手机立即绑定

这段代码为什么提交通不过额

#include <string.h>

#include <iostream>

using namespace std;


int main(void)

{

    //在堆中申请100个char类型的内存

    char *str = new char[100];

    //拷贝Hello C++字符串到分配的堆中的内存中

strcpy(str,"Hello imooc");

    //打印字符串

    cout << str << endl;

    //释放内存

    delete []str;

    str = NULL;

    return 0;

}


正在回答

4 回答

上面都是瞎说的

你把endl去掉就行了

因为编译器的答案没有换行所以视为错误,你去掉就行了

2 回复 有任何疑惑可以回复我~

strcpy(*str, "hello imooc");

你如果写成str,它是个指针,存放的是一个地址,是打不开这个地址的内存的,换句话说就是无法赋值,写成*str,就是可以跑到这个指针所存地址的内存中,就可以将字符串存进去。

0 回复 有任何疑惑可以回复我~

没毛病!

我试着编译了一下,说unsafe, 提示改成strcpy_s(str,100,"Hello imooc"); 就可以了

2 回复 有任何疑惑可以回复我~

strcpy(str,"Hello imooc");应该改为strcpy(char[1],"Hello imooc");然后打印char[1]

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之离港篇
  • 参与学习       122700    人
  • 解答问题       474    个

C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通

进入课程

这段代码为什么提交通不过额

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信