getchar -- 从标准输入流中获取字符
getchar 函数文档函数概要:
getchar 函数从标准输入流(stdin)中获取下一个字符。
相当于调用 getc(stdin) 函数。
函数原型:
#include <stdio.h>
...
int getchar()(void);
返回值:
如果函数调用成功,返回获取的字符(用整型表示其 ASCII 码)。
返回值如果是 EOF,表示该函数调用失败:
[*]如果标准输入流位于处于结束的位置,该函数返回 EOF,并设置标准输入流的结束标志符。
[*]如果出现其他错误,该函数同样返回 EOF,并设置错误标志符代替。
演示:
#include <stdio.h>
int main()
{
int count = 0;
printf("请随意一个英文句子:");
while (getchar() != '\n')
{
count = count + 1;
}
printf("你总共输入了%d个字符!\n", count);
return 0;
}
版权归鱼C工作室(www.fishc.com)所有,转载请注明来源!
不懂??? 学习了 我表示我也没看懂! 懵逼啊,可以解释下么{:10_266:} 学习啦啦 講得清楚我看得模糊阿 stdin是啥,不该是stdio吗? 感谢小甲鱼 为什么这个输入的语句不需要scanf来装?{:5_94:} re-born 发表于 2017-1-19 12:34
为什么这个输入的语句不需要scanf来装?
这个函数调用成功自动会返回获取的字符(我猜的0.0) 其实我也想问! 为什么不需要Scanf就可以输入-。- 嗯,多看些例题就发现,好像getchar(),就相当于一次装一个字符的scanf 本帖最后由 lntouchables 于 2017-6-2 21:27 编辑
#include<stdio.h>
int main()
{
int count = 0;
printf("请输入一行英文字符:\n");
while (getchar() != '\n');
{
count += 1 ;
}
printf("你总共输入了%d个字符",count);
return 0;
}
求解课程上这段代码为什么我输入字符最后出来都是1个字符{:10_269:}
我知道了! while 后面没有;分号 int readint() {
int num = 0; //
存储读取到的整数
int negative = 0;//
负数标识
char c; //
存储当前读取到的字符
c = getchar();
while ((c < '0' || c > '9') && c != '-')
(1)
if (c == '-')
negative = 1;
else
(2)
那请问这段代码中“getchar()”是什么意思。
出处:2016NOIP普及组初赛
https://wenku.baidu.com/view/69f44617e009581b6ad9ebb4.html 呆萌的三百块 发表于 2017-1-24 11:04
其实我也想问! 为什么不需要Scanf就可以输入-。-
输入函数并不是scanf()函数特有的啊,其它函数也可以哦 没看懂+1,之前的课里不是有用getchar()来过滤空白字符吗,在这里没看出来是怎么做到的 =-=发错帖子 666
想説,中文的话,是什么原理呢?标准输入流如何确认是中文还是英文呢?