セミコロンの無い C プログラム

http://www.gowrikumar.com/c/ の最後にある、セミコロンを使わずに Hello World! を出力をするプログラムを書け、の答えは

#include<stdio.h>
int main()
{
    if(fputs("Hello World!",stdout)){}
}

でいいのだろうか。return が無いと警告されるけど。
警告を黙らせてみた。(gcc 3.4.6 でコマンドラインオプションは -Wall と -pedantic)

#include<stdio.h>
#include<stdlib.h>
int main()
{
    if(fputs("Hello World!",stdout),exit(1),1){}
}