张成林 发表于 2020-9-11 18:59:58

请问为什么我的程序只能将第一个字母转换大小写呢?后面的都不行

希望大佬帮忙

sunrise085 发表于 2020-9-11 19:03:12

本帖最后由 sunrise085 于 2020-9-11 19:04 编辑

你的while循环条件写错了
你写的这个条件,只有当ch为回车字符的时候才循环,而且没有继续读取字符
while((ch=getchar())!='\n')

小破竹林 发表于 2020-9-13 09:53:10

循环条件写错了

405794672 发表于 2020-9-17 19:56:02

获取输入的字符是getchar()函数,ch只是把它复制过来。循环条件是ch=='\n'。而ch只复制了一次字符,正好getchar()只获取了一次,就给ch了。循环一次后,判断,ch没变,不是回车,所以跳出循环,结束。
应该把getchar()放进循环,这样就能循环获取输入字符了。然后用ch接收
while((ch=getchar())!='\n')
意思,获取输入字符给ch,并判断它的值,若不等于回车就循环。

张成林 发表于 2020-9-24 10:58:57

谢谢
页: [1]
查看完整版本: 请问为什么我的程序只能将第一个字母转换大小写呢?后面的都不行