gpt4 book ai didi

c - 终端 : segmentation fault 11 while reading file and counting the amount of vowels

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

终端一直提示:段错误 11。我的代码是:

int main()
{
FILE *file;
file=fopen("test.txt","r");
int c;
int vowelCount=0;

while ((c=getc(file)!=EOF)) {

if( c=='a' | c=='e' | c=='i'| c=='o' | c=='u')
{

vowelCount++;
}
}
printf("%d",vowelCount);
return 0;
}

最佳答案

您的代码中有几个问题:

  • 您错误地将循环条件括起来 - 它应该是 while ((c=getc(file))!=EOF)
  • 您在 if 条件中使用了 | 而不是 ||
  • 您没有检查fopen的返回值:如果函数因文件不存在或任何其他原因而失败,则返回NULL。尝试将 NULL 传递给 fgetc 会导致崩溃。

这是可能导致崩溃的最后一个项目。确保文件 test.txt 位于您运行程序的目录中。

Demo.

关于c - 终端 : segmentation fault 11 while reading file and counting the amount of vowels,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25799825/

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