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

C语言多函数调用时打印最后输出出现Segmentation Fault问题

段错误排查求助:main函数混合调用函数后触发Segmentation Fault

我正在为学校项目编写若干函数,单独运行并打印每个函数结果时无错误,但在main函数中一次性调用所有函数并打印结果时,最后一个函数的输出环节会触发Segmentation Fault(段错误)。

以下是存在问题的main函数代码段:

int main() {
    char str1[] = "382 is the best!";
    char str2[100] = {0};

    strcpy(str1, str2);
    puts(str1);
    puts(str2);

    int vec_a[3] = {12,34,10};
    int vec_b[3] = {10,20,30};
    int dot = dot_prod((char*) vec_a, (char*) vec_b, 3, sizeof(int));
    printf("%d\n", dot);
    int arr[3] = {0x12BFDA09, 0x9089CDBA, 0x56788910};
    sort_nib(arr, 3);
    for (int i = 0; i < 3; i++) {
        printf("0x%08x ", arr[i]);
    }

    printf("\n");
    return 0;
}

运行这段代码时,除最后的打印循环外其余输出均正常,该循环会触发Segmentation Fault;但注释掉puts语句和printf("%d\n", dot);后,最后的打印循环可正常运行。恳请各位提供帮助。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 19:30:49