社区
新手乐园
帖子详情
菜鸟问题
Seffrui_M
2012-11-18 08:38:28
#include<stdio.h>
int main()
{
int c;
while((c=getchar())!=EOF)
{
if(c==' ')
c='\n';
putchar(c);
}
return 0;
}
循环时 不应该先判断是不是EOF 然后执行循环体 但是不应该是我打一个不是空格的 然后输出一个吗 为什么运行结果是这样
还有第二个问题 就是EOF 的用法 为什么有时候按回车就结束 有时候需要ctrl+z啊
...全文
100
4
打赏
收藏
菜鸟问题
#include int main() { int c; while((c=getchar())!=EOF) { if(c==' ') c='\n'; putchar(c); } return 0; } 循环时 不应该先判断是不是EOF 然后执行循环体 但是不应该是我打一个不是空格的 然后输出一个吗 为什么运行结果是这样 还有第二个问题 就是EOF 的用法 为什么有时候按回车就结束 有时候需要ctrl+z啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
delong45
2012-11-18
打赏
举报
回复
字符串放入缓冲区,每次读取一个字符输出到屏幕上, 代码中字符为空格的话,就将字符赋值为回车,然后打印,后面继续,就出现你现在的这种输出了
慧钦
2012-11-18
打赏
举报
回复
首先程序确实是先判断输入是否为EOF才执行循环体内的语句的。至于为什么不是你输入一个字符就输出一个,那是因为对于输入系统会设一个输入缓冲区,会先把你输入的字符先存入缓冲区内,直到你输入一个回车符,才会把缓冲区内的字符输出(或者主动清除缓冲区或缓冲区满)。想一想平时我们输入错误为什么能回退删除字符也因为有输入缓冲区的功能才能实现的,不然输入的所有错误字符第一时候就输出了。 第二问题,EOF要是按ctrl+z才会退出的
转角天边
2012-11-18
打赏
举报
回复
每次是只输出一个字符的,你在第一行输入了一句话,这句话会存放在缓冲区,getchar每次从缓冲区读一个字符,然后输出,你单步调试下就明白了
xtianshi00
2012-11-18
打赏
举报
回复
当你输入结束后..按下了回车..程序就开始运行了....速度是很快的所以一下就把结果全部输出了...你当然不可能看到这个一个字符一个字符在控制台打印的过程了...你要是能看到...那CPU待多慢啊.... EOF就是文件结束标志...先不要纠结他...以后的学习你会明白
Laravel
菜鸟
上路 - 踩坑 -
菜鸟
问题
1 - 配置文件.env 并非实时生效
Laravel
菜鸟
上路 - 踩坑 -
菜鸟
问题
1 - 配置文件.env 并非实时生效
问题
: rt 解决: php artisan config:cache 过程: 非常之痛苦……反复修改各种尝试, nnd新的数据库配置就是更新不上去, 访问的永远是第一次初始化配置的默认数据库, 看了官方英文原文的配置文件一个角落里面的一句话后尝试,后解决;
extern 报错【error c2146】
菜鸟
问题
error C2146: syntax error : missing ';' before identifier 'g_var' 在a.cpp中定义 CXX g_var; 在b.cpp中用extern CXX g_var; 报错。 g_var前面的类型无法识别,这种
菜鸟
问题
,原来是应该在用extern CXX g_var; 之前,将CXX的声明告诉编译器。 不要忽视这些小
问题
。
phonegap/cordova
菜鸟
问题
汇总(不定期更新)
作为一个app
菜鸟
,phonegap/cordova小白,从零开始意味着要面临很多大神都一时想不到解决方法的
问题
——因为太诡异又太简单了。 下面是我经历过或看到的
问题
汇总。npm install -g phonegap/cordova因为网络
问题
安装失败
问题
:仔细看看命令行的提示会发现有unconn…这样字样,意思就是网络没连接到服务器。 出
问题
的是我的win10笔记本,安装的时候默认使用ht
计算机打不开
菜鸟
打印组件,
菜鸟
打印常见
问题
管家技巧已迁移至xy.wdgj.com,欢迎访问。
菜鸟
打印常见
问题
发布于:2016-09-22查看:67891次发布人:模板下载分享到:
菜鸟
打印常见
问题
解决方法:第一:打印只打印一半内容到打印机首选项里面设置纸张大小,宽10cm高18cm第二:打印不出纸,打印组件里面显示打印失败。到打印组件安装目录里面,默认安装目录在(C:/Program file(x86)/CaiNiao打印组...
apicloud
菜鸟
问题
假如有两个frame,我从打开了a关了b,然后关b打开a,当我在关a打开b的时候发现,b打不开了,底层有地图层,一直开着frame,可能哪里出现了
问题
,求各位大神解决
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章