文字strの中に、文字cが含まれている個数(含まれていなければ0)を返す関数
int str_chum(const char str[/url],int c)
を作成せよと言う問題なのですが
下まで作ってみたのですが、実行結果
どんな文字を打っても個数は0個ですとでてしまい数えられていないのですが
どこがおかしいですか
#include<stdio.h>
int str_chum(const char str[/url],int c);
int main()
{
char st[256];
char ch[10];
printf("文字列を入力してください:");
scanf("%s",st);
printf("個数を数えたい文字を入力してください:");
scanf("%s",ch);
printf("入力された文字の個数は%dです",str_chum(st,ch[0]));
}
int str_chum(const char str[/url],int c)
{
int i;
int count=0;
if(i=0,str!='\0',i++){
if(*str==c)
count++;
}
return(count);
}
前の投稿は分かりにくかったですね。文字列の課題
Re:前の投稿は分かりにくかったですね。文字列の課題
色々おかしいです。
どこが変かご自分でチェックしてみてください。
どこが変かご自分でチェックしてみてください。
#include<stdio.h> int str_chum1(const char str[/url], int c); int str_chum2(const char str[/url], int c); int main() { char st[256]; char ch[10]; printf("文字列を入力してください:"); scanf("%s", st); printf("個数を数えたい文字を入力してください:"); scanf("%s", ch); printf("入力された文字の個数は%dです\n", str_chum1(st, ch[0])); printf("入力された文字の個数は%dです\n", str_chum2(st, ch[0])); return 0; } int str_chum1(const char str[/url], int c) { int i; int count = 0; for (i = 0; str != '\0'; i++) { if (str == c) count++; } return count; } int str_chum2(const char *str, int c) { // bcc32 Ver5.5.1 では、const char str[/url] ではエラーになるようなので、変更。他では問題ないはず。 int count = 0; for ( ; *str != '\0'; str++) { if (*str == c) count++; } return count; }