C言語

infinity loop

久しぶりに、はまったのでメモ。 size_t i; for (i = 10; i >= 0; --i) { do_something(); } i > 0 だと正常に動作するけど、 i >= 0 だと無限ループ。 size_t が unsigned な処理系は注意。

#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { size_t i; for (i = 0; i</stdlib.h></stdio.h>

exercise 1.6

平方根を求めるアルゴリズム sqrt-root. ビルトイン関数に含まれているのだけど、アルゴリズムの演習って事で、 再実装してみる。 まずは、Schemeで。 (define (sqrt n) (define (abs n) (if (improve guess n) (average guess (/ n guess))) (define (good-…

5つの事なる方法で実装してみる。 /* 手続き型。通常のループで */ int fib1(int num){ int a = 1, b = 0; while( num-- > 1 ){ a += b; b = a - b; } return b; } /* 2重再帰。一番遅い。 */ int fib2(int num){ if (num 再帰 */ int fib3_iter(int num, …

一日一個 hello world プログラムを、 いろんなプログラミング言語で実装してみる。いつまで続くかなぁ。 #include #include int main(void){ puts("Hello world"); return EXIT_SUCCESS; }