请问为什么我的程序只能将第一个字母转换大小写呢?后面的都不行
希望大佬帮忙 本帖最后由 sunrise085 于 2020-9-11 19:04 编辑你的while循环条件写错了
你写的这个条件,只有当ch为回车字符的时候才循环,而且没有继续读取字符
while((ch=getchar())!='\n') 循环条件写错了 获取输入的字符是getchar()函数,ch只是把它复制过来。循环条件是ch=='\n'。而ch只复制了一次字符,正好getchar()只获取了一次,就给ch了。循环一次后,判断,ch没变,不是回车,所以跳出循环,结束。
应该把getchar()放进循环,这样就能循环获取输入字符了。然后用ch接收
while((ch=getchar())!='\n')
意思,获取输入字符给ch,并判断它的值,若不等于回车就循环。 谢谢
页:
[1]