求助,急
1.有以下程序 #include <stdio.h> void fun(char *fname,char *st) { FILE *myf; int i; myf=fopen(fname,"w"); for(i=0;i<strlen(st);i++)fputc(st[i],myf); fclose(myf); } main() {fun("test.t","new world");fun("test,t","hello,");} 程序执行后,文件test.t中的内容是 A)hello, B)new worldhello, C)new world D)hello,rld 答案是A 为什么 ,我认为应该是B 帮忙讲解一下
你的fun()每次调用都是用写的方式打开,同时每次写文件以后文件指针就回到文件头,所以第一次写入"new world",第二次又回到文件头,写入"hello,"并且是覆盖原来的文本,(相当于先清空原来的文本,再写入新的文本),如果使用rewind()函数,则结果将变成D.
2.下列变量定义中合法的是 A)short _a=1-.1e-1; B)double b=1+5e2.5; C)long do=0xfdaL D)float 2_and=1-e-3; 答案是A,帮忙解释一下
对于B,e后面的指数不能为小数,必须是整数,对与C,16进制只能从a到f,对于D,变量的名称不能以数字开头.
[此贴子已经被lyn_gemini于2004-09-26 17:30:37编辑过]