>>525
言語は何?
古いCでは変数宣言はブロックの先頭にある必要がある。
#勿論、ブロックの先頭ならよいので以下の例は問題ない。
int main()
{
printf("foo\n");
{
int foo = getchar();
printf("%c\n", foo);
}
return 0;
}

どうでもいいが、while関数なんてものは無いし、
一般的にcではメソッドとは言わない。用語は間違わないように。