演習7-9 K&R プログラミング言語C

演習7-9

スペースを節約する isupper

#include <stdio.h>

int my_isupper(unsigned char);

int main(void)
{
    char c1 = 'd';
    char c2 = 'D';

    printf("%c isupper? => %d\n", c1, my_isupper(c1));
    printf("%c isupper? => %d\n", c2, my_isupper(c2));

    return 0;
}

/* スペースを節約する isupper */
int my_isupper(unsigned char c)
{
    if (c >= 'A' && c <= 'Z') {
        return c;
    } else {
        return 0;
    }
}

実行結果

$ ./ex7-9a
d isupper? => 0
D isupper? => 68

実行時間を短かくする isupper

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

int my_isupper(unsigned char);

int main(void)
{
    char c1 = 'd';
    char c2 = 'D';

    printf("%c isupper? => %d\n", c1, my_isupper(c1));
    printf("%c isupper? => %d\n", c2, my_isupper(c2));

    return 0;
}

/* 実行時間を短かくする isupper */
int my_isupper(unsigned char c)
{
    if (strchr("ABCDEFGHIJKLMNOPQRSTUVWXYZ", c)) {
        return c;
    } else {
        return 0;
    }
}

実行結果

$ ./ex7-9b
d isupper? => 0
D isupper? => 68
プログラミング言語C 第2版 ANSI規格準拠
B.W. カーニハン D.M. リッチー
共立出版
売り上げランキング: 9726
«
»