前提
C言語でファイル内の特定の数字の出現回数を数えるプログラムを作っています。
実現したいこと
- 上記の機能を動作するようにする
該当のソースコード
C言語
1#include <stdio.h> 2 3int count1(int a) 4{ 5 int cnt = 0; 6 int ch; 7 8 9 FILE *fp; 10 fp = fopen("12345.txt", "r"); 11 12 13 if(fp == NULL) 14 printf("\aファイルをオープンできません。\n"); 15 else{ 16 while((ch = fgetc(fp)) != EOF) 17 if (ch == 'a') 18 cnt++; 19 fclose(fp); 20 printf("数字文字は%d個です。\n", cnt); 21 } 22 23 return cnt; 24 25} 26 27int main(void) 28{ 29 int a, n; 30 printf("aの値は?"); scanf("%d", &a); 31 32 33 printf(">>> %d\n", count1(a)); 34 35 return 0; 36}
試したこと
17行目の'a'の部分がうまく動作していないと思われます。
"特定の数字" なのに "ch == 'a'" で変と思わないということは、 C での数字・文字の表現を理解されていないことになります。
その辺りから復習が必要でしょう。

回答1件
あなたの回答
tips
プレビュー