演習9ー5
問: 文字列sの中に、文字cが含まれていれば、その添字(文字列中に文字cが複数ある場合は、最も先頭側の添字とする)を返し、含まれなければ-1を返す関数を作成せよ。
int str_char(const char s[], int c)
// Ex0905.c
#include <stdio.h>
#define NUMBER 128
int str_char(const char s[], int c)
{
int len = 0;
while (s[len])
len++;
for (int i = 0; i < len; i++) {
if (s[i] == c) {
return i + 1;
break;
}
}
return -1;
}
int main(void)
{
char str[NUMBER];
char c;
printf("文字列を入力せよ:");
scanf("%s", str);
printf("探す文字を入力せよ:");
scanf("\n%c", &c);
printf("文字列 \"%s\" の中に、%c は %d 文字目にあります。\n", str, c, str_char(str, c));
return 0;
}
コメント
特になし。
書籍情報
コメント