首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include<stdio。h> #include<stdlib.h> main() {FILE*fp; char ch,str[5]; if((fp=fopen("file.txt","wb+"))==NULL) {printf("err
有以下程序: #include<stdio。h> #include<stdlib.h> main() {FILE*fp; char ch,str[5]; if((fp=fopen("file.txt","wb+"))==NULL) {printf("err
admin
2021-06-15
97
问题
有以下程序:
#include<stdio。h>
#include<stdlib.h>
main()
{FILE*fp;
char ch,str[5];
if((fp=fopen("file.txt","wb+"))==NULL)
{printf("error!\n");exit(0);}
ch=getchar();
while(ch!=’!’)
{fputc(ch,fp);
ch=getchar();
}
rewind(fp);
do{
fgets(str,4,fp);
puts(str);
}
while(!feof(fp));
felose(fp);
}
程序运行时输入:c:\\test!<回车>,则程序的输出结果是( )。
选项
A、c:\
\te
st
B、c:\test
C、c:tes
t
D、c:\t
est
答案
A
解析
分析程序可知,程序是首先以可写方式打开文件file.txt,然后使用getchar()逐个读入输入的字符,写到文件file.txt中,直到输入的字符是’!’,停止写入文件;然后使用rewind()将文件指针定位到文件开头位置,再调用fgets()函数,将文件中的内容读入str字符数组中,再用puts()输出,直到遇到文件结尾符,关闭文件。其中写入文件时是逐个写入的,而读出时调用fgets(str,4,fp),由此可知fgets至多读取3个字符到str,然后在结尾自动加上“\0”字符,作为字符串的结尾标志,使用puts输出时,输出3个字符并完成换行,当输入c:\\test!<回车>时,输出为:
c:\
\te
st
故答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/4ytp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下叙述中正确的是
C语言源程序名的后缀是
下列叙述中正确的是
有以下程序,执行后的输出结果是main(){inta=1,b=3,c=5;int*p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf("%d\n",c);}
有以下程序#includemain(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf("%d\n",m);}程序的运行结果是( )。
下列叙述中正确的是
C语言程序的模块化通过以下哪个选项来实现
数据的存储结构是指
在黑盒测试方法中,设计测试用例的根据是()。
下列说法不正确的是()。
随机试题
下列不属于文献调查法的特点的是【】
右旋糖酐的适应证错误的是
男,36岁,心悸气短10余年,劳累后加重,今同他人争吵后突然四肢抽搐,意识丧失,5分钟后症状缓解,但家人发现右侧肢体活动障碍,失语。幼年患风湿性关节炎。查体:血压21/14kPa,神清,完全性运动性失语,右侧向舌瘫,右侧肢体偏瘫,上肢肌力Ⅰ级,下肢肌力Ⅲ级
以下合同变更的说法,错误的是()。
设备的()是表示设备修理复杂程度的计量单位。
初始保证金率若为50%,券商需要融资( )元。在上题相同的前提下,足额保证金交易的回报率只有( ),保证金交易的引入提高了证券交易的风险。
下列关于OSI参考模型分层的选项中,分层相邻且顺序从低到高的有()。
下列关于牵连犯的说法中,正确的是()。
下述有关历史创造者的观点中,属于唯物史观的有
Lookattheformbelow.Youwillhearawomanaskingforcancellationofanappointment.TelephoneMessageforMr.WhiteMes
最新回复
(
0
)