#1
by しんうん » 2年前
文字列と探したい文字を読み込んで探すプログラムが作りたかったのですが、一文字を入力する部分で失敗しました。何がダメだったのでしょうか?printfやscanfのまま解決したいです。
#include <stdio.h>
int str_char(const char s[], int c){
int i;
for ( i = 0; s != '\0'; i++ ){
if ( s == c ){
break;
}
}
if ( s == '\0' ){
i = -1;
}
return i;
}
int main (void){
int x, c;
char s[128];
printf("文字列を入力してください:");
scanf("%s", s);
printf("探す一文字を入力してください:");
scanf("%c", &c);
x = str_char(s, c);
if ( x == -1 ){
printf("文字 %c は見つかりませんでした。\n", c);
}
else{
printf("文字 %c を %d 番目で発見しました。\n", c, x+1);
}
return 0;
}
文字列と探したい文字を読み込んで探すプログラムが作りたかったのですが、一文字を入力する部分で失敗しました。何がダメだったのでしょうか?printfやscanfのまま解決したいです。
#include <stdio.h>
int str_char(const char s[], int c){
int i;
for ( i = 0; s[i] != '\0'; i++ ){
if ( s[i] == c ){
break;
}
}
if ( s[i] == '\0' ){
i = -1;
}
return i;
}
int main (void){
int x, c;
char s[128];
printf("文字列を入力してください:");
scanf("%s", s);
printf("探す一文字を入力してください:");
scanf("%c", &c);
x = str_char(s, c);
if ( x == -1 ){
printf("文字 %c は見つかりませんでした。\n", c);
}
else{
printf("文字 %c を %d 番目で発見しました。\n", c, x+1);
}
return 0;
}