意味がわからない

ifの場合とwhileの場合の条件式の次の複文は

if(条件){複文、真のとき実行
}

じゃないですか  それなのに>>921のwhile複文は
{
if ((fp = fopen(*argv,"r")) == NULL)
cant(*argv);
do_one(fp);
fclose(fp);
argv++;
}  

こんなに長いです 偽のときどこに行くのかわからないです