scanf()函数问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 08:22:33
#include<stdio.h>
#include<stdlib.h>

int main(){

char *c;

scanf("%s",c);
printf("%s",c);
}
为什么会出现段错误呢?

因为你没给 c 分配存储单元。

c = (char *) malloc(80 * sizeof(char));

都对 我再补充下 char *c;只是声明了一个char型指针 没有真的分配内存
所以还要再次申请 和char *c="ssss";直接指明地址不一样

Loonie是对的。要分配存储单元。alloc/malloc.