胖虎548 2021-11-24 15:46 采纳率: 100%
浏览 52
已结题

可以通过输入对指针进行赋值吗?

具体问题如下:

int main()
{
      char *p;
      scanf("%s",p);
}

可以像这样直接给指针p通过输入赋值吗?

  • 写回答

3条回答 默认 最新

  • 关注

    可以通过指针赋值,但是你这么写是错误的,参考如下:
    方法一:

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        char* buf = (char*)malloc(100); //使用malloc申请内存
        scanf("%s",buf);
        printf("%s",buf);
        free(buf);
        return 0;
    }
    
    

    方法二:

    #include <stdio.h>
    
    int main()
    {
        char buf[100]; //数组
        scanf("%s",buf);//数组名本身就是指针
        printf("%s",buf);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月2日
  • 已采纳回答 11月24日
  • 创建了问题 11月24日