c - 我在将 malloc 与字符串指针一起使用时出现段错误

标签 c pointers segmentation-fault malloc

当我尝试使用带有字符串指针的 malloc 进行扫描时,它给出了一个段错误

main(){
    char *a;
    a = (char)malloc(50);
    printf("enter a string\t");
    scanf("%s", a);
    printf("%s\n", a);
}

最佳答案

a = (char)malloc(50);

在这里,您打算将其类型转换为 char * 而不是 char

注意最好不要强制转换malloc的返回类型。参见 Do I cast the result of malloc?

关于c - 我在将 malloc 与字符串指针一起使用时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21632329/

相关文章:

c - Dev C++ strtok_s 抛出 [警告] 赋值使指针来自整数而不进行强制转换

c - 无法声明结构的动态数组

c++ - 指针输出的虚拟值

c - 在c中通过引用传递数组

c - 关于指针和段错误

c - mulcross数据生成器运行错误: free():invalid next size

c - char * 指针可以指向什么(是不是像 void *)?

c - 尝试 : why malloc error came

c - 使用C删除非空目录时出现段错误

c - GNU 制造商 : detect Xcode