gpt4 book ai didi

c - 尝试打印 char* 的内容时出现段错误

转载 作者:行者123 更新时间:2023-11-30 15:58:02 26 4
gpt4 key购买 nike

我有以下代码:

    FILE *fpa;
fpa = fopen(argv[2], "r");
if (fpa == NULL) {
printf("Error: could not open seqA file!\n");
exit(0);
}

unsigned int N_a;
fscanf(fpa, "%d\n", &N_a);
char *seq_a = malloc((N_a+1) * sizeof(char *));
strcpy(seq_a,"");
fscanf(fpa, "%s\n", seq_a);
fclose(fpa);

for(i=0;i<N_a;i++)
printf("%s", seq_a[i]); ---> SEG FAULT
printf("\n");

我在 printf 语句中遇到段错误。argv[2] 是一个文件,其内容为:
5
ABCBB

知道我可能在哪里犯错误。

最佳答案

char *seq_a = malloc((N_a+1) * sizeof(char *));

应该是:char *seq_a = malloc((N_a+1) * sizeof(char));

如果您想打印每个字符,请使用%c:

  printf("%c", seq_a[i]);

关于c - 尝试打印 char* 的内容时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10081650/

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