printf ステートメント内の挿入関数内でセグメンテーション違反が発生します
#include <stdio.h>
#include <stdlib.h>
void Insert(char w[])
{
int j;
int n=5;
printf("word is %s AFTER\n", w);
}
int main(int argc, char *argv[])
{
FILE *fp;
if (argc !=2)
fp=fopen("words.txt", "r");
else
fp=fopen(argv[1], "r");
char line[28];
while(!feof(fp)){
fgets(line, 256, fp);
Insert(line);
}
}
word.txt では、各行の単なる単語の集まりです。
apple
banana
...
zoo
(...間にある単語の束を意味するだけです)これを出力します:
word is apple
AFTER
word is banana
AFTER
...(a bunch more repetitions)
word is cookie
Segmentation Fault(core dumped)
セグメンテーション違反が発生するのはなぜですか? それは単語を完全に印刷しました。そして、それは印刷しませんでしたAFTER
ありがとう。