这是main.c中
这是print.c
#include <stdio.h>
int wc(FILE *pointer)
{
int a;
int character=0,word=0,line=0;
a = getc(pointer);
while (a != EOF)
{
character++;
if (a == ' ')
word++;
if (a == '\n')
line++;
a = getc(pointer);
}
printf("character: %4d, word: %4d, line: %4d \n", character,word,line);
return 0;
}
这是word.c
gcc -c print.c
gcc -c word.c
gcc -c main.c
gcc -o main main.o print.o word.o
./main
text.txt
text.txt
segmentation fault (core dumped)
这是我使用的编译方式。
但我不知道为什么我有分段错误(核心转储)。
请帮帮我。
编译所有警告和调试信息:'gcc -Wall -Wextra -g'。然后使用调试器'gdb';你的修复我的代码问题是脱离主题。阅读您正在使用的每个标准功能:[fopen(3)](http://man7.org/linux/man-pages/man3/fopen.3.html)以及许多其他功能可能会失败。测试它不喜欢[这里](https://stackoverflow.com/a/18193383/841108) –
发布文字而不是它的图像会更好。 –
首先,你打开文件两次而不关闭文件。 –