gpt4 book ai didi

C 编程 - 段错误(核心转储)

转载 作者:行者123 更新时间:2023-11-30 20:33:43 26 4
gpt4 key购买 nike

每次运行它时,我都会不断收到段错误(核心转储),无论我更改什么或编译正常!不确定我在哪里犯了错误?有什么建议吗?

int main (int argc, char** argv)
{
FILE *output;
if ((output = fopen("output", "w")) == NULL)
{
printf ("cannot open the file input\n");
exit (EXIT_FAILURE);
}

int data = 1;
while (scanf("%d", data) > 0)
{
print(output, data);
}

fclose(output);
return (0);
}
void print(FILE* output, int data)
{
fprintf(output, "%d\n", data);
return;
}

最佳答案

1 将 while (scanf("%d", data) > 0) 更改为 while (scanf("%d", &data) > 0)

2 将print函数移到开头。

这可能适合你。

#include <stdio.h>
#include <string.h>
#define MAX 100

void print(FILE* output, int data)
{
fprintf(output, "%d\n", data);
return;
}

int main (int argc, char** argv)
{
FILE *output;
if ((output = fopen("output", "w")) == NULL)
{
printf ("cannot open the file input\n");
return -1;
}

int data = 1;
while (scanf("%d", &data) > 0)
{
print(output, data);
}

fclose(output);
return (0);
}

输入

1 2 3“输入”“Ctrl+D”

关于C 编程 - 段错误(核心转储),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44448545/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com