下のような感じで適当に文字列を入力して、その文字列の中から特定の文字の数を数えるプログラムを書きましたが、実行した結果、最後のaの文字数は・・・の部分が、例えばaaasasaと打った場合、5個中7個と表示され逆になってしまいます。どう変えたら正しくなりますか?
回答お願いします!!
#include <stdio.h> int str_length(const char []); int count_char(const char mojiretsu[], int c) { int i; int num = 0; for(i = 0; mojiretsu[i] != '\0'; i++) if(mojiretsu[i] == c) num++; return (num); } int main(void) { char mojiretsu[100] = {'\0'}; char ch[10]; int len; printf("文字列を入力して下さい:"); scanf("%s", mojiretsu); printf("数えたい文字を入力してください:"); scanf("%s", ch); len = str_length(mojiretsu); printf("aの文字数は%d個中%d個です\n", count_char(mojiretsu, ch[0]), len, mojiretsu); return (0); } int str_length(const char s[]) { int len = 0; while(s[len]){ len++; } return len; }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。