C言語始めたばかりの入門者です。
質問があります。
下のプログラムを実行すると、
�@の結果がなぜか6.0となってしまいます。
�Aではちゃんと9.0と表示されるのですが、なぜ�@は6.0になってしま
うのでしょうか?

#include <stdio.h>

#define sqr(x)((x) * (x))

int main(void)
{
  doubledx;

  dx = 1.0;
  printf("二乗は%fです。\n", sqr(++dx));    −−−�@
  dx = 1.0;
  printf("二乗は%fです。\n", ++dx * ++dx);  −−−�A

  return 0;
}