質問お願いします(行がギリギリなので、コメント内にて質問)。独習C第4版より
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int count[26];/*これがグローバル変数でなけれなならない理由が分かりません*/

int main(int argc,char *argv[])
{
FILE *fp;
int i;
char ch;

if(argc!=2){
printf("ファイル名の指定がありません\n");
exit(1);
}
if((fp=fopen(argv[1],"r"))==NULL){
printf("ファイルを開くことができません\n\n");
exit(1);
}
while((ch=fgetc(fp))!=EOF){
ch=toupper(ch);
if(ch>='A' && ch<='Z')
count[ch-'A']++;
}
fclose(fp);
for(i=0; i<26; ++i)
printf("%c は %d 回\n",'A'+i,count[i]);

return 0;
}