『Cパズルブック』(Alan R.Feuer, 1985)
[Mac M2 Pro 12CPU, macOS Ventura 13.3.1, clang 14.0.3]
問2.3のコードと出力は以下の通りです。
ここで一旦Cパズルブックを使ったプログラミング学習を休止して、アプリ製作に戻ります。
#include "stdio.h"
#define PR(x) printf("x = %g\t", (double)x)
#define NL putchar('\n')
#define PRINT1(x1) PR(x1); NL
#define PRINT2(x1, x2) PR(x1); PRINT1(x2)
int main() {
double d = 3.2, x;
int i = 2, y;
x = (y = d/i)*2;
PRINT2(x, y);
// x = (y = (d/i))*2
// x = (y = (int)1) *2
// x = 1*2
y = (x = d/i)*2;
PRINT2(x, y);
// y = (x = (d/i))*2
// y = (x = (double)1.6 *2
// y = 3
y = d * (x = 2.5/d);
PRINT1(y);
// y = d * (x = (2.5/3.2))
// y = 3.2 * 2.5/3.2
// y = 2
x = d * (y = ((int)2.9 + 1.1)/d);
PRINT2(x, y);
// x = d * (y = ((int)2 + 1.1)/d);
// x = d * (y = 3.1/3.2);
// x = d * (y = 0);
return 0;
}
x = 2 x = 1
x = 1.6 x = 3
x = 2
x = 0 x = 0