C++ :为什么new char[100]分配的数组不能用scanf(%s)输入

C++ :为什么new char[100]分配的数组不能用scanf(%s)输入

 #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char*argv[])
{
    char *str = new char[1000];


    scanf("%s", &str);

    printf("%s\n",str);

    return 0;
}

2个回答

 char *str = new char[1000];


    scanf("%s", &str);
输入的时候不用加&取地址运算符,因为str本身就是一个地址;去掉取地址&运算符就可以了楼主。
lounaodun0605
lounaodun0605 谢谢
3 年多之前 回复
 #include <iostream>
using namespace std;
c++语言得加上面这两个
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐