问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

高手进!提问关于while循环和字符输入间的问题!

发布网友 发布时间:2022-04-20 07:03

我来回答

6个回答

热心网友 时间:2023-07-08 08:35

首先要知道,while(ch=getchar()=='A') ,其中的条件ch=getchar()=='A',这两个运算符的优先级是"=" < "==",所以ch只有两种情况,也就是要么等于1,要么等于0。至于何时跳出循环,也就是当while的条件等于0时跳出循环,相应的就是当输入的字符不为A时,跳出循环……

至于你说的答案等于0,我想错了吧,因为我写了一个测试程序,答案得出的是1,源程序如下:
#include<stdio.h>
main()
{
char ch;
while(ch=getchar()=='A')
printf("%d\n",ch);
}
你也运行一下看看,得出的是1……

至于你后面写的验证程序其实是计算输入的连续‘A’的个数,也就是说不管你最后输入的是除了‘A’外的任意字符,程序就将跳出循环。

举个例子:比如你输入的是“AAAAAa”,输出的结果将是5,也就是连续‘A’的个数。所以根本不像前面几位兄弟所说的是因为你输入“回车”。要知道“回车”只是为了结束你的输入而已,每个程序只要有输入参数,回车是必须的。

希望我的解释对你有所帮助……

热心网友 时间:2023-07-08 08:35

#include<stdio.h>
main()
{int i=0;char a;
while('A'==getchar())
{
i++;
fflush(stdin);
}
printf("%d\n",i);
}
改成这样就可以了,原因就是因为回车键的缘故

热心网友 时间:2023-07-08 08:36

因为回车键跳出循环,因为在按下A后又按了一个回车键
我刚想了一下,不只是回车键的问题,如果是回车键的问题,那么执行while(ch=getchar()=='A'); 后ch的值应为10,对于这个程序,原因应该是==优先级比=高,while(ch=getchar()=='A'); 先执行getchar=='A',再将(getchar=='A')的值赋给ch,所以ch只有两种值0或1(getchar=='A'成立ch=1,不成立ch=0),
以下是正确程序:
#include<stdio.h>
main()
{int i=0;char ch;
while((ch=getchar())=='A')
{
i++;
putchar(ch);
fflush(stdin);
}
printf("%d\n",i);
}

热心网友 时间:2023-07-08 08:36

while(M)
只有当M=0的时候才跳出循环。 这个应该可以理解吧。
第二个是你输入A的时候i++。此时i=1
所以 。。不懂得话可以留言
同时要说的是“=”于“==”的运算优先关系式后者先。

热心网友 时间:2023-07-08 08:37

while(ch=getchar()=='A'); //在C语言中若变量已正确定义,可ch的值为空,所以在执行以上这个hile语句时,编译系统返回默认值为 0。

下面初值你自己定义的:int i=0;char a
当你输入A回车执行后,在i++的处理下返回值加1,所以运行结果为1。 这里程序是按顺序执行的.

热心网友 时间:2023-07-08 08:38

恩 因为你按了回车 getchar是顺次得到你输入的字符 你输入完了就会取‘\0’也就是0
第二个问题 你输入了A 按了回车 getchar第一次得到A i++变成1 第二次得到0 条件不成立 跳出 所以不会执行i++ i就还是1
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
通达信主力指标公式汇总(2023版附源码) 有什么类似地下城与勇士的手机游戏 有没有类似于DNF的游戏 苹果手机类似地下城的游戏 有什么类似地下城与勇士的手机游戏 我的系统是WIN732,为什么玩不了光晕2,一点开就弹一个对话框出来说:无法... 玩诛仙电脑配置诛仙3要求电脑配置 ...永磁为什么要跌啊?东方财富金力永磁股吧?金力永磁股票最初..._百度... 怎么找回注销的微信号 如果把手机号码和微信号同时销户后期还能找回微信号吗? 仓储与库存有什么区别? 仓位和库位的区别 新手提问 python for循环问题 print (y) #这里为什... C语言初学着 提问 怎样用for循环语句求1到10的和啊? 您好。。while循环内的循环条件是什么?就是提问的... 提问python有关while循环的问题? 电脑重置失败,循环出现提问框(如下图),怎么办 c语言出入字符后跳出循环的提问 热水循环提问 vba 数组 双重循环 提问 关于for循环基础的提问 python for循环提问 php 里for循环提问。 见问题补充 python的循环提问 哪里能找到气球手工艺人,就是那种长气球折叠成各... 小学生手工制作,简单一点,有新意一点!材料家里有... 用一个气球和一个双面胶、纸箱可以做什么手工? 如何手工制作气球好看? 气球车最简单的做法 如何用气球布置婚房 气球动力小车制作过程是什么? 用长气球怎么做小动物 java菜鸟求学提问! for循环练习! Java for循环改写和判断(这个提问规范好烦啊) 如何在知道提问? 提问:利用循环,在屏幕上输出如下图案(菱形) js新手提问关于循环和table标签 关于matlab中的循环语句while和for的提问:我想写... U盘可以格式化多少次 请问U盘能格式化成哪些格式? 正常的u盘可以格式化吗 u盘可以格式化吗?格式化应注意哪些问题?u盘最多... U盘可以格式化么?格式化有什么作用? u盘可以格式化吗? U盘可以格式化吗? u盘格式化 分配单元大小默认是多少 U盘一般可以进行多少次的格式化?仅一次吗? 金士顿的U盘4G的可以格式化几次,寿命是多久 U盘能用多少次(即格式化寿命)? U盘格式化 分配单元大小多少合适 32G的 U盘要改成什么格式才能放进4G以上的文件 i51035g1/8g/512g/mx250是独显吗?