-1
我正在嘗試編寫一個程序,該程序需要輸入一個文本文件並查找最頻繁的字符以及多少次。結果我一直得到0。這裏是我的代碼:C從文本文件中查找頻繁字符
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *fp;
char *filename;
char ch;
int array[255] = {0};
char str[]= "";
int i, max, index;
// Check if a filename has been specified in the command
if (argc < 2)
{
printf("Missing Filename\n");
return(1);
}
else
{
filename = argv[1];
printf("Filename : %s\n", filename);
}
// Open file in read-only mode
fp = fopen(filename,"r");
// If file opened successfully, then print the contents
if (fp)
{
printf("File contents:\n");
while ((ch = fgetc(fp)) != EOF)
{
for (i = 0; i < 255; i++){
ch = str[i];
}
// Find the letter that was used the most
for(i = 0; str[i] != 0; i++)
{
++array[str[i]];
}
max = array[0];
index = 0;
for(i = 0; str[i] != 0; i++)
{
if(array[str[i]] > max)
{
max = array[str[i]];
index = i;
}
}
printf("The max character is: %c \n", str[index]);
printf("The amount is %d\n", max);
}
}
else
{
printf("Failed to open the file\n");
}
return(0);
}
這是從代碼的輸出: 文件名:的text.txt 文件內容: 最大特點是:
量爲0 最大特點是:
量爲0 的最大特點是:
的量爲0 的最大特點是:
的量爲0
的'for'循環與條件'STR [1] = 0'將被作爲'STR運行一次[1]''是0'!。 –
首先'for'循環根本不會運行(根據初始化值)。爲什麼在那裏? – e0k
首先,縮進是正確的。 – BLUEPIXY