C program Language 'EOF' and 'getchar()'
#include <stdio.h>
void main()
{
int c;
c=getchar();
while(c!=EOF)
{
putchar(c);
c=getchar();
}
}
getchar() returns a distinctive value when there is no more input, a value that cannot be confused with any real character. This value is called
EOF, for ``end of file''.
Q: The type char is specifically meant for storing such character data, but any integer type can be used.
We used int for a subtle but important reason.
A: We must declare c to be a type big enough to hold any value that getchar returns. We
can't use char since c must be big enough to hold EOF in addition to any possible char. Therefore we use int.
EOF is an integer defined in <stdio.h>, but the specific numeric value doesn't matter as long as it is not the same as
any char value. By using the symbolic constant, we are assured that nothing in the program depends on the
specific numeric value.
The next program counts characters; it is similar to the upper case:
#include <stdio.h>
void main()
{
int nc;
nc=;
while(getchar()!=EOF)
++nc;
printf("\nCharacter Counting is: %1d\n",nc);
}
[::@wjshan0808 ~/Documents/C Program]$ gcc CharactersCount.c
[::@wjshan0808 ~/Documents/C Program]$ ./a.out
asdf //Ctrl+D
Character Counting is:
[::@wjshan0808 ~/Documents/C Program]$ ./a.out
asdf
//Ctrl+D
Character Counting is:
[::@wjshan0808 ~/Documents/C Program]$
C program Language 'EOF' and 'getchar()'的更多相关文章
- 基于C语言EOF与getchar()的使用详解
转自:http://www.jb51.net/article/36848.htm 大师级经典的著作,要字斟句酌的去读,去理解.以前在看K&R的The C Programming Langu ...
- EOF 与 getchar()
1.EOF EOF是end of file的缩写,表示"文字流"(stream)的结尾.这里的"文字流",可以是文件(file),也可以是标准输入(stdin) ...
- History of program (language).
1 编程语言的发展历程及未来趋势 1.1 编程语言的发展 · 1946 Plankalkul Konrad Zuse,一位德国工程师,他躲藏在巴伐利亚附近的阿尔卑斯山上时,独立开发了Plank ...
- Function program language
历史 Lambda演算为描述函数及其评估提供了理论框架.它是一种数学抽象而不是编程语言 - 但它构成了几乎所有当前函数式编程语言的基础.等效的理论公式,组合逻辑,通常被认为比lambda演算更抽象,并 ...
- 函数式编程语言(Fuction Program Language)
一.什么是函数式编程语言 函数式编程语言(functional progarm language)一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数.定义函数和函数型. ...
- functional program language(what,include,why popular)
函数式语言(functional language)一类程序设计语言.是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数.定义函数和函数型.这种语言具有较强的组织数据结构的能力,可以把某 ...
- functional program language
1.什么是函数式编程语言 函数式语言(functional language)一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数.定义函数和函数型.这种语言具有较强的组 ...
- 函数式编程(Function Program Language)
WHAT: 简单说,"函数式编程"是一种"编程范式",也就是如何编写程序的方法论. 它属于"结构化编程"的一种,主要思想是把运算过程尽量写成 ...
- 函数式编程语言(Functional Program Language)
(一) 什么是函数编程语言 简单说,"函数式编程"是一种"编程范式"(programming paradigm),也就是如何编写程序的方法论. 是一种编程典范, ...
随机推荐
- Java实现 蓝桥杯VIP 算法训练 最大值与最小值的计算
输入11个整数,计算它们的最大值和最小值. 样例输入 0 1 2 3 4 5 6 7 8 9 10 样例输出 10 0 import java.util.Scanner; public class 最 ...
- Java实现 蓝桥杯VIP 算法训练 方格取数
问题描述 设有NN的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0. 某人从图的左上角的A 点(1,1)出发,可以向下行走,也可以向右走,直到到达右下角的B点 ...
- Java实现 蓝桥杯 猜算式
猜算式 看下面的算式: □□ x □□ = □□ x □□□ 它表示:两个两位数相乘等于一个两位数乘以一个三位数. 如果没有限定条件,这样的例子很多. 但目前的限定是:这9个方块,表示1~9的9个数字 ...
- Java实现稳定婚姻问题
1 问题描述 何为稳定婚姻问题? 有一个男士的集合Y = {m1,m2,m3-,mn}和一个女士的计划X = {n1,n2,n3,-,nn}.每一个男士有一个排序的列表,把女士按照潜在的优先级进行排序 ...
- java实现海盗比酒量
** 海盗比酒量** 有一群海盗(不多于20人),在船上比拼酒量.过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了.再打开一瓶酒平分,又有倒下的,再次重复- 直到开了第4瓶酒,坐着的已经所剩 ...
- Java实现第九届蓝桥杯星期一
星期一 整个20世纪(1901年1月1日至2000年12月31日之间),一共有多少个星期一? (不要告诉我你不知道今天是星期几) 注意:需要提交的只是一个整数,不要填写任何多余的内容或说明文字. 解: ...
- java实现第四届蓝桥杯带分数
带分数 题目描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字1~9分别出现且只出现一 ...
- yum安装配置MySQL数据库
1.配置yum源 # 先安装wget yum install wget -y 2.下载mysql源安装包 wget http://dev.mysql.com/get/mysql57-commu ...
- JVM中堆的介绍
一.堆的概述 一个JVM实例只有一个堆内存,堆也是Java内存管理的核心区域,堆在JVM启动的时候创建,其空间大小也被创建,是JVM中最大的一块内存空间,所有线程共享Java堆,物理上不连续的逻辑上连 ...
- lei muban
#include<iostream> using namespace std; template <typename T> class Operator{ public: T ...