lounaodun0605
lounaodun0605
采纳率100%
2017-04-21 03:24 阅读 1.2k
已采纳

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条回答 默认 最新

  • 已采纳
    lixiaogang_theanswer 君子黎 2017-04-21 03:30
     char *str = new char[1000];
    
    
        scanf("%s", &str);
    输入的时候不用加&取地址运算符,因为str本身就是一个地址;去掉取地址&运算符就可以了楼主。
    
    点赞 2 评论 复制链接分享
  • lixiaogang_theanswer 君子黎 2017-04-21 03:29
     #include <iostream>
    using namespace std;
    c++语言得加上面这两个
    
    点赞 1 评论 复制链接分享