昔、関数に渡すのは変数でしか渡していないプログラムを見たことある。

void foo(int x)
{
 ...
}

void bar()
{
 int a;

 a = 1;
 foo(a); /* foo(1) と書いていない */
}

これってなんか意味あったのかな ?