演算子を使わずに加法

Twitter でとある方が「+ 演算子を使わずに a と b の和を求める方法を…」といったことをつぶやいていたので、ちょっと作ってみた。

#include <stdio.h>

int add(int, int);

int main() {
    printf("%d\n", add(2, 3));
    printf("%d\n", add(2, - 3));

    return 0;
}

int add(int a, int b) {
    int s = a;
    int i;

    if(b < 0) {
        for(i = 0; i < - b; i++) {
            s--;
        }
    } else {
        for(i = 0; i < b; i++) {
            s++;
        }
    }

    return s;
}

復習も兼ねてさっくりと C で。if 〜 else 使っちゃダメとか for 文使っちゃダメとかインクリメント・デクリメント演算子使っちゃダメとは言ってませんでしたよね ? w