>>212
結局この場合、
result = fgets(buf, 100, fp);
の後に
if (result == NULL) break;
が必須であり、かつループを抜ける条件はここだけになるので、
do〜whileでもwhile〜でもいいというか、while(1)いいじゃんと思う。
do〜whileは通常の処理ではあまり使いどころがないね。