在终端输入EOF

问题

如下是一个计算校验和的程序,其中使用了while循环,需要在标准输入中读取到EOF才能跳出循环。

#include <stdio.h>

int main(){
int checksum = 0;
int ch = 0;
while ((ch = getchar()) != EOF){
checksum += ch;
putchar(ch);
}
printf("\nchecksum = %d\n", checksum);
return 0;
}

解决

Linux系统下,打开终端,执行代码,按ctrl + D则可以在终端中输入EOF了,并且会立即放进缓存中。

windows系统下,按ctrl + Z则可以在cmd输入EOF

在终端输入EOF的更多相关文章

  1. 如何输入EOF

    很多线上笔试的编程题要求能循环处理多个case,需使用while(scanf("%s",tmp)!=EOF)语句.EOF表示文件结束符,但是在本机的编译环境中,如何在控制台输入EO ...

  2. 在Openstack H版部署Nova Cell 时 ,终端输入nova service-list 和 nova host-list 命令将报错

    关于Cell的基本介绍,可以参考贤哥的一篇文章: [OpenStack]G版中关于Nova的Cell  http://blog.csdn.net/lynn_kong/article/details/8 ...

  3. invalid types 'int[int]' for array subscript// EOF 输入多组数据//如何键盘输入EOF

    数组维度搞错了 一次运行,要输入多组数据,直到读至输入文件末尾(EOF)为止 while(scanf("%d %d",&a, &b) != EOF) // 输入结束 ...

  4. ubuntu安装anaconda后,终端输入conda,出现未找到命令

    解决办法: 终端输入:vim  ~/.bashrc 键盘大写“G”,在最末端输入:export PATH=~/anaconda2/bin:$PATH 使其生效:source  ~/.bashrc 打印 ...

  5. 在控制终端输入AT命令

    控制台终端输入AT命令到smd8,步骤如下: 1. 先执行命令 cat /dev/smd8 & 2. 再执行  echo  -e  "ati\r\n"  > /dev ...

  6. Ubuntu下安装Python3.6并在终端输入Python就能显示Python3.6

      Ubuntu17.04自带Python2.7与Python3.5.3的版本,由于Python2与Python3有着一些差距可能需要安装更新Python3的版本,并且切换默认的Python解释器. ...

  7. Mac系统升级后在终端输入git命令时遇到的问题

    Mac系统升级git会找不到并且报错:xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools) ...

  8. scala基础题--函数可以没有返回值案例,编写一个函数,从终端输入一个整数,打印出对应的金字塔

    函数可以没有返回值案例,编写一个函数,从终端输入一个整数,打印出对应的金字塔 import scala.io.StdIn object work02 { def main(args: Array[St ...

  9. 【BigData】Java基础_终端输入2个数字并求和

    1.需求描述 在终端输入2个数字,然后根据输入的数字求和 2.实现代码 package cn.test.logan; import java.util.Scanner; public class Te ...

  10. 在命令行窗口中输入EOF

    在Windows中,要输入EOF前,先回车换行,再ctrl+z,在回车,即可.

随机推荐

  1. 「codeforces - 1486F」Pairs of Paths

    link. 还算萌,但是代码有些难写-- 你首先会想要 int n, m, fa[20][300100], pa[300100], dep[300100], cnt[900100]; int ldf[ ...

  2. JUC并发编程(3)—锁中断机制

    目录 1.什么是中断 2.源码解读(中断的相关API) 3.如何使用中断标识停止线程 学习视频:https://www.bilibili.com/video/BV1ar4y1x727 1.什么是中断 ...

  3. ndk开发之native层访问java层

    一.native层访问java层的成员变量 java层的成员变量可以分为实例变量和静态变量,不过他们的访问方法比较类似,可以分为以下三步: 获取java类对应的jclass对象 获取需要访问的成员变量 ...

  4. CF1401C

    题目简化和分析: 交换数组使其变为升序,满足交互的两数 \(a_i\) 与 \(a_j\),$ \min{a_i(1\le i\le n)}|\gcd(a_i,a_j)$ . 简单思维题,Div.2 ...

  5. React技术栈支援Vue项目,你需要提前了解的

    写在前面 react整体是函数式的思想,把组件设计成纯组件,状态和逻辑通过参数传入,而vue的思想是响应式的,也就是基于是数据可变的,通过对每一个属性建立Watcher来监听, 当属性变化的时候,响应 ...

  6. 大语言模型基础-Transformer模型详解和训练

    一.Transformer概述 Transformer是由谷歌在17年提出并应用于神经机器翻译的seq2seq模型,其结构完全通过自注意力机制完成对源语言序列和目标语言序列的全局依赖建模. Trans ...

  7. Unity3D ConfigMan.cs For XML File

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...

  8. yum仓库及NFS共享

    yum仓库及NFS共享 1.yum简介 yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系.解决了日 ...

  9. QT中级(2)QTableView自定义委托(二)实现QProgressBar委托

    同系列文章 QT中级(1)QTableView自定义委托(一)实现QSpinBox.QDoubleSpinBox委托 QT中级(2)QTableView自定义委托(二)实现QProgressBar委托 ...

  10. "拍牌神器"是怎样炼成的(二)--- 键鼠模拟之AutoIt

    不同于上一篇的WinAPI方法,这次让我们来看另一个更简单.有效的键鼠模拟方案,即通过COM组件AutoItX实现键鼠模拟. AutoIt AutoIt是一个免费软件,它使用一种类似BASIC的脚本语 ...