搜索
当前位置: 秒秒彩官网 > 读入一行 >

scanf(%[^n]读入一行数据 为何出现死循环 求解?

gecimao 发表于 2019-06-30 07:10 | 查看: | 回复:

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  也就是说,当它没有读取到数据的时候,其实返回的是0,而不是EOF,所以你的while循环的判断条件写错了,应该写成0追问改成0后 不会死循环了 可是也没法连续输入了。。。要怎么改 才能每次读一行处理一行 然后还可以继续读取呢 求解!追答#includestdio.h

  展开全部while((scanf(%[^n],str))!=EOF)这句话的意思是,当你输入任意字符时,遇到换行符结束当前行输入,此时该循环还没结束,那么当遇到EOF标识的时候,该循环才会结束。而EOF是文件流的结束符号。而你是在控制台上输入的,所以一直没结束输入(当读取单个文件末尾时,程序才会结束输入),而此时程序会一直输出第一次你算出来的结果(即we are what we do)。这时想自己手动结束,在控制台内按ctrl +z就可以结束了。追问谢谢 知道为何出现死循环了

  C 语言的输入输出流楼上的有了,我直接给你个C++的吧。直接调用C++的getline对象来获取当前行输入。

本文链接:http://k-mood.com/duruyixing/494.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部