You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Arch Linux下C语言程序出现Segmentation fault (core dumped)如何解决?

解决scanf导致的Segmentation Fault错误

你的代码中scanf("%d", age);是错误的根源。scanf函数要求第二个参数传入变量的内存地址,而非变量本身的值。你直接传递age时,程序会将age的初始随机值当作内存地址,尝试向这个非法地址写入数据,从而触发Segmentation Fault(段错误)。

修正后的代码:

#include<stdio.h>
int main(){
    int age;
    scanf("%d", &age); // 添加&取地址符,传递变量的内存地址
    printf("age = %d", age);
    return 0;
}

使用你原有的编译和运行命令即可正常执行:

  • 编译:gcc -o test1 test1.c
  • 运行:./test1

执行后输入整数,程序会正确读取并输出你的输入值。

内容的提问来源于stack exchange,提问作者Nibenyi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 16:50:29