为了账号安全,请及时绑定邮箱和手机立即绑定

这个程序有点看不懂,所以请高手具体的解释一下!

这个程序有点看不懂,所以请高手具体的解释一下!

C++
侃侃尔雅 2022-12-20 17:13:44
在执行以下程序时,如果从键盘上输入:ABSdef,然后按<enter>键,则输出为___#include<stdio.h>void main(){char ch;while((ch=getchar())!='\n'){if(ch>='a'&&ch<='z')ch=ch-32;printf("%c",ch);}printf("\n");}从while((ch=getchar())!='\n')开始解释,详细点啊!(ch=getchar())!='\n'----什么意思??这个具体说一下.结果是次要的,主要分析一下程序.
查看完整描述

3 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

c++中while的用法如下:
while(条件) {} 
当条件为假时结束循环。
如while(0){}。 { }里的命令不执行结束循环;
do {} while() 当条件为假时结束循环。 但d0 {} while(0) 先执行一次在结束

查看完整回答
反对 回复 2022-12-25
?
千万里不及你

TA贡献1784条经验 获得超9个赞

先说while((ch=getchar())!='\n'):可以把它分成
ch=getchar();while(ch!='\n').前者是调用getchar函数,即ch为从键盘键入的字符.后者括号里指:当键入的不是'\n'(即回车),所以循环结束的条件是输入回车键.
然后,这是一个小写字母转化成大写的程序,
if(ch>='a'&&ch<='z') //当输入的字符在a和z之间时
ch=ch-32; //这个字符的ASCII码减32,即实现小写转换为大写.(因为一个字母的ASCII码,小写比大写大32.
其他没什么难懂的了吧

查看完整回答
反对 回复 2022-12-25
?
一只名叫tom的猫

TA贡献1906条经验 获得超2个赞

while((ch=getchar())!='\n') 
是获取的字符 回车符 就停止循环,退出程序.

这段程序的意思是获取字符,如果获取的字符不是回车,并且是从小写的a到大写的Z,就是abcd...xyzABC...XYZ,就减去32,转换为另外一个字符,具体转换到什么字符查下ASCII表,然后显示出来.如果获取的字符是回车,就是按ENTER键,就停止循环,退出程序

查看完整回答
反对 回复 2022-12-25
  • 3 回答
  • 0 关注
  • 64 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信