『新・明解C言語 入門編 第2版』演習問題解答例 9ー5

演習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;
}

コメント

 特になし。

 


書籍情報



Copyright (C) 2016 "HYOGOKURUMI" All Rights Reserved./「来未炳吾・平極ルミ・HYOGOKURUMI」の発達障害考察を主とした全ての発信は、相互不干渉など特別な約束をした者達を除き、どなたでもご活用できます。ただし著作権は放棄しておりません。あしからずご了承ください。詳細は著作権に関するガイドラインをご一読ください。/「HYOGOKURUMI.site」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。