[C语言]请问这题为什么选B?求大神!!谢谢!

 我来答
戚文柏Ro
2014-01-07 · TA获得超过336个赞
知道小有建树答主
回答量:400
采纳率:100%
帮助的人:397万
展开全部
fprintf(fp,"%d",i); //此函数是向流中依照指定的格式写入数据,第一题写入123到文本fscanf(fp,"%d%d",&k,&n); //读取数据,读取方式默认为\n或空格,这里d1文本中没有空格,所以以换行间隔,所以第一题k读到的是123,n没有读到数据,输出的时候为"%d空格%d",所以结果为123空格0;第二题,写入数据格式为"%d空格",即写入数据为1 2 3\n4 5,读取格式为“%d%d”,默认以空格间隔,所以k=1,n=2,输出格式为"%d%d",所有结果为12,此题没有答案,D列印出错
home奶茶温泉
2014-01-07 · TA获得超过119个赞
知道答主
回答量:211
采纳率:0%
帮助的人:184万
展开全部
同学 ,这个时这样的 先说你的第一个问题 你打印时没有用空格分开,所以123算一个字符
下面你fscanf的话123算一个,0算一个 所以n=0读不到!!就是fprintf(fp,"%d",i);这个“%d”没有空格!!!

下面那个问题,没有fclose那个写,所以用了rewind,效果一样,你看那个输出语句fprintf(fp,"%d ",i); “%d ”后面是有个空格的 fscanf()这个函数就是用空格区分是否为一个字符的 所以是1 , 2,不懂可以继续问,或者查一下这个函数
更多追问追答
追问

请问那这道为什么又选D?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小白范
2014-01-07 · TA获得超过357个赞
知道小有建树答主
回答量:309
采纳率:50%
帮助的人:280万
展开全部
写的时候是连在一起写的,读的时候一次就把它都读出来了,所以k是123,n读不到,就是0.
更多追问追答
追问

请问那这道为什么又选D啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式