填空题

下面程序把从终端读入的文本(用@作为文本结束标志)复制到一个名为bi.dat的新文件中。请填空。
#include<stdio.h>
FILE *fp;
main()
char ch;
if((fp=fopen(______))==NULL)exit(0);
while((ch=getchar())!=’@’)fputc(ch,fp);______;

【参考答案】

"bi.dat","w"或"bi.dat","w+"或"bi.dat","a+" fclose(fb)