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

演習9ー11

問: List-9-12を、次のように書きかえたプログラムを作成せよ。
・文字列の個数を3よりも大きな値とし、その値をオブジェクト形式マクロとして定義する。
・文字列の文字数を6ではなく128と
し、その値もオブジェクト形式マクロとして定義する。
・文字列の配列を読み込む関数を作成する。演習9-3と同様に、”$$$$$”を読み込んだ時点で読込みを中断・終了する。
・”$$$$$”より前に入力された全文字列を表示する。

// Ex0911.c

#include <stdio.h>
#define NO1 5
#define NO2 128

void put_strary(const char s[][NO2], int n)
{
    for (int i = 0; i < n - 1; i++)
        printf("s[%d] = \"%s\"\n", i, s[i]);
}

int main(void)
{
    int i;
    int n = 0;
    char s[NO1][NO2] = { 0 };

    for (i = 0; i < NO1; i++) {
        printf("s[%d] : ", i);
        scanf("%s", s[i]);

        n++;

        if (s[i][0] == '$' && s[i][1] == '$' && s[i][2] == '$' && s[i][3] == '$' && s[i][4] == '$') {
            i = NO2;
        }
    }
        
        put_strary(s, n);
        
        return 0;
}

コメント

 特になし。

 


書籍情報


コメント

タイトルとURLをコピーしました