2013年10月26日土曜日

開発環境

C実践プログラミング 第3版 (Steve Oualline (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅡ部(単純なプログラミング)の9章(変数スコープおよび関数)、9.4(構造かプログラミング)、9.5(再帰)、9.7(プログラミング実習)、実習 9-2を解いてみる。

その他参考書籍

実習 9-2.

コード

sample.c

#include <stdio.h>
#include <string.h>
 int main()
 {
     char strings[100][100] = {"", "a", "ab", "abc", "abcd"};
     int i, j;
     int begins(char string1[], char string2[]);
     for (i = 0; i < 5; i++){
         for (j = 0; j < 5; j++){
             printf("「%s」「%s」: %d\n",
                 strings[i], strings[j], begins(strings[i], strings[j]));
         }
     }
     return (0);
 }
 
int begins(char string1[], char string2[])
{
    int i = 0;
    while (string1[i] == string2[i]) {
        i++;
        if (string2[i] == '\0'){
            return 1;
        }
    }
    if (string2[0] == '\0'){
        return (1);
    }
    return (0);
}

makefile

CC=cc
CFLAGS=-g

sample: sample.c
 $(CC) $(CFLAGS) -o sample sample.c

clean:
 rm -f sample

入出力結果(Terminal)

$ make
cc -g -o sample sample.c
$ ./sample
「」「」: 1
「」「a」: 0
「」「ab」: 0
「」「abc」: 0
「」「abcd」: 0
「a」「」: 1
「a」「a」: 1
「a」「ab」: 0
「a」「abc」: 0
「a」「abcd」: 0
「ab」「」: 1
「ab」「a」: 1
「ab」「ab」: 1
「ab」「abc」: 0
「ab」「abcd」: 0
「abc」「」: 1
「abc」「a」: 1
「abc」「ab」: 1
「abc」「abc」: 1
「abc」「abcd」: 0
「abcd」「」: 1
「abcd」「a」: 1
「abcd」「ab」: 1
「abcd」「abc」: 1
「abcd」「abcd」: 1
$

0 コメント:

コメントを投稿