functionをネストした場合実行時の定義になるから
B()をコールした時に普通にグローバル関数としてC()が定義されるはず