为什么c语言中char*s;scanf("%s",s)是错的??
展开全部
出现错误的原因是s声明的是一个char型指针,没有指向一块开辟出的地址空间,系统随机了一个地址给s,对这个随机的地址的空间进行赋值是非法的,所以出错。
修改如下,先将s指向一块开辟的地址空间之后再对其进行赋值。
char *s = (char *)malloc(100);//100为开辟空间大小
scanf ("%s", s);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询