setlocale関数とwprintf関数を使用したプログラムが意図した通りに動作しません。

printf("Hello\n");
setlocale(LC_CTYPE, "");
wprintf(L"今日は\n");
printf("Goodbye\n");

このプログラムで「今日は」だけが表示されません。
1行目のprintfをコメントアウトすると「今日は」だけが表示されます。
なぜこのような現象が発生するのでしょうか。

環境はDebian7、gccは4.7.2です。