gpt4 book ai didi

c - fget 中的段错误

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

#include<stdio.h>
#include<malloc.h>
#define MAX_N 10000
#define MAX_D 5000
int main(){
char* n = malloc(MAX_D);
fgets(n,MAX_D,0);
printf("\n n : %s \n",n);
return 0;
}

上述程序会导致段错误。无法确定根本原因。

最佳答案

char* fgets(char* str, int num, FILE * stream );

fgets的第三个参数是一个FILE *,不是(POSIX)文件描述符,传递0被视为空指针。改变

fgets(n, MAX_D, 0);

至:

fgets(n, MAX_D, stdin);

关于c - fget 中的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27310366/

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