2013年10月30日水曜日

開発環境

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

その他参考書籍

実習 9-6.

コード

sample.c

#include <stdio.h>
#include <string.h>

int main()
{
    char string1[100],
         string2[100];
    void replace(char s[], char t[]);
    
    while (1){
        printf("文字列を入力: ");
        fgets(string1, sizeof(string1), stdin);
        string1[strlen(string1) - 1] = '\0';
        if (string1[0] == '\0'){
            break;
        }
        replace(string1, string2);
        printf("置換前: %s\n", string1);
        printf("置換後: %s\n", string2);
    }
    return (0);
}

void replace(char s[], char t[])
{
    int i = 0;
    char c = '-',
         d = '_';
    while (s[i] != '\0'){
        if (s[i] == c){
            t[i] = d;
        } else {
            t[i] = s[i];
        }
        i += 1;
    }
    t[i] = '\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
文字列を入力: practical-c 
置換前: practical-c
置換後: practical_c
文字列を入力: kamimura-practical-c
置換前: kamimura-practical-c
置換後: kamimura_practical_c
文字列を入力: -kamimura
置換前: -kamimura
置換後: _kamimura
文字列を入力: kamimura-
置換前: kamimura-
置換後: kamimura_
文字列を入力: -
置換前: -
置換後: _
文字列を入力: -----
置換前: -----
置換後: _____
文字列を入力: --__
置換前: --__
置換後: ____
文字列を入力: 
$

0 コメント:

コメントを投稿