我正在掃描一個文件並計算有多少個字母是大寫,小寫,數字或其他字符; 它給我分段錯誤的一些原因;我也不太清楚爲什麼 這裏是我的代碼當掃描文件和計算c值時出現分段錯誤
#include<stdio.h>
#include<ctype.h>
int main(void)
{
FILE *ifp, *ofp;
char *mode = "r";
char words;
int lengthOfWords, i;
int uppercase=0, lowercase=0, digits=0, other=0, total=0;
ifp = fopen("story.txt", "r");
if (ifp == NULL) {
fprintf(stderr, "Can't open input file in.list!\n");
return 0;
}
else
{
while(fscanf("%c", &words) != EOF)
{
if ((words>='A')&&(words<='Z'))
{
uppercase++;
}
else if ((words>='a')&&(words<='z'))
{
lowercase++;
}
else if ((words>='0')&&(words<='9'))
{
digits++;
}
else
{
other++;
}
}
}
printf("\n%d %d %d %d\n",uppercase, lowercase, digits, other);
return 0;
}
爲什麼我只是通過文字閱讀它的字符計數他們,因爲他們去
順便說這裏是我的txt文件。
The quick Fox jumps
over 2014 *$!&#@] lazy dogs.
'fscanf(「%c」,&words)' - >'fscanf(ifp,「%c」,&words)' – BLUEPIXY
編譯器至少應該給你一個警告'fscanf(「%c」,&詞)''。 –