C言語メモ。

 C言語、基本的なところにはまりまくり。

int a,b;
a=1;
b=a++;      // b←a の後に a++
int a,b;
a=1;
b=++a;     // a++ の後に b←a

 なぜにこういう仕様なのだろうか……「独習C」の書き方も「仕掛けが理解できた後でないと、記述の意味が理解できない」記述になっているあたりが微妙。

int a,b;
int xor(int a,int b);
int xor(int a,int b){
    int c;
    c = (a || b) && !(a && b);   // or と nand の and を取る。
    return c;
}

 うーん……「独習C」に責任はないのだけれど……できれば、p.57の「and/or/not」とp.59の「xor」のみではなくて、「nand/nor」についても表で掲示するほうがいいと思いました。
 ……いや、「独習C」では、説明の順番がそもそも変なのかも。
 論理演算では「not→and/or→nand/nor→xor」の順番で説明しないと、混乱する可能性がありますので(というか、電子回路本ではこの順序で説明する例が多いような?)。