永发信息网

C中字符串直接输入到指针的问题

答案:2  悬赏:30  手机版
解决时间 2021-03-18 08:18
  • 提问者网友:战皆罪
  • 2021-03-18 00:47
C中字符串直接输入到指针的问题
最佳答案
  • 五星知识达人网友:有你哪都是故乡
  • 2021-03-18 01:44
你只是定义了指针 p ,但并没设定具体的指向,故无法存储数据。
你应该这样用:

char s[255];
char *p=s;
scanf("%s",p)追问为什么可以char*p;p="asdf" 这样赋值,这个也没有把指针初始化啊?追答“asdf”是常量字符串,是在编译时就已经分配空间了的,p 被初始化为指向该空间。
你的程序中字符串是读入的,并没有提前分配空间。
全部回答
  • 1楼网友:夜风逐马
  • 2021-03-18 02:06
#include"stdio.h"
int main(int args,char* argc[])
{
char p[100];
scanf("%s",p);
puts(p);
return 0;//?????,?????
}指针不能存放数据追问我是故意避开使用数组的,因为输入的数据长度不确定,如果说指针不能存放字符串,为什么可以char*p;p="asdf" 这样赋值,并且以上只是运行错误,编译并没有错啊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯