C语言 ungetc(ch, stdin);这语句的作用?有劳各位解释一下

#include<stdio.h>#include<stdlib.h>voidmain(){inti;intsum=0;charch;printf("Pleaseinpu... #include<stdio.h>
#include<stdlib.h>
void main()
{
int i;
int sum = 0;
char ch;
printf("Please input :\n");

while(scanf("%d",&i)==1)
{
sum += i;
while((ch=getchar())==' ');
if(ch == '\n')
{
break;
}
ungetc(ch, stdin);
}
printf("result: %d",sum);
printf("\n");
system("pause");
}

--------------------------------------------

ungetc(ch, stdin);
这句语句什么作用?有劳各位 通俗地 解释一下
展开
 我来答
昂秀越aF
2012-07-08 · TA获得超过141个赞
知道答主
回答量:78
采纳率:0%
帮助的人:57.4万
展开全部
ungetc(ch, stdin);将你读到的字符回退到输入流中
比如上面的程序你先输入数字25,scanf读到i中,加到sum中,然后你再输入,调用ch=getchar(),发现ch不是' '也不是'\n',而是一个数,比如’7‘,显然这是你要继续加到sum中的数,要用scanf读到i中,但是你已经将这个'7'用getchar读出来了,只好用ungetc再把这个'7'给退回去
wofosiduoduo
2017-06-18 · TA获得超过6320个赞
知道大有可为答主
回答量:4518
采纳率:55%
帮助的人:2963万
展开全部

用 法

编辑

int ungetc(int c, FILE *stream);

形参:

c: 要写入的字符;

stream:文件流指针

返回值:

字符c - 操作成功,EOF - 操作失败(int)

ungetc(ch, stdin);将你读到的字符回退到输入流中
比如上面的程序你先输入数字25,scanf读到i中,加到sum中,然后你再输入,
调用ch=getchar(),发现ch不是' '也不是'\n',而是一个数,比如’7‘,
显然这是你要继续加到sum中的数,要用scanf读到i中,但是你已经将这个'7'
用getchar读出来了,只好用ungetc再把这个'7'给退回去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f7cce46
2012-07-08
知道答主
回答量:3
采纳率:0%
帮助的人:1.9万
展开全部
意思是屏幕先输出“please input”然后scanf代表键盘输入,再依据判断信息,估计是一个累加的程序,程序不完整看不太出来。希望能帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
RoadMan9
2012-07-08
知道答主
回答量:36
采纳率:0%
帮助的人:8万
展开全部
ungetc是一个函数
功 能  把一个字符退回到输入流中
用 法  int ungetc(char c, FILE *stream);
输入参数  c 要写入的字符,stream 文件流指针
输出参数  字符c - 操作成功,EOF - 操作失败
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乐酷科技
2012-07-08 · TA获得超过1906个赞
知道小有建树答主
回答量:1067
采纳率:50%
帮助的人:623万
展开全部
把一个字符退回到输入流中
更多追问追答
追问
不退回会怎么样呢?比如我要输入22 33 33 44,想请问具体每个步骤是怎么样的呢?
追答
#include
#include
void main()
{
int i;
int sum = 0;
char ch;
printf("Please input :\n");
scanf("%d",&i);
if(i==1)
{
sum += i;
//while(ch=getchar()==' ');
//if(ch == '\n')这里while里面的判断不会成立
//{
//break;
//}
}
printf("result: %d",sum);
printf("\n");
//system("pause");
}你就跟我说一下你想实现什么功能吧 有点迷糊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式