执行 while循环。 输入第1个字符'1',不是'\n',执行switch语句"case'1'"后输出语句,输出字符'1';由于其后没有“break”语句,则继续执行"case'2'"后语句,输出字符'1'。输入第2个字符'3',不是'\n',执行switch语句"case'3'"后输出语句,输出字符'3';由于其后没有“break”语句,则继续执行"defau...
有以下程序main(){ char c;while((c=getchar())!='?') putchar( - - c ); }程序运行时,如果从键盘输入:Y
第一, 保存 getchar 的返回值的变量必须是 int 型。getchar() 可能返回任何字符值, 包括 EOF。如果把 getchar 的返回值截为 char 型, 则正常的字符可能会被错误的解释为 EOF, 或者 EOF 可能会被修改 (尤其是 char 型为无符号的时候), 从而永不出现。
c=getchar();是输入字符的,所以输入H-->putchar(c)输出H while(c!=',')成立 输入I-->putchar(c)输出I while(c!=',')成立 输入,-->putchar(c)输出, while(c!=',')不成立,结束循环 最终输出 “HI,”
经过编译运行,如果把c=getchar();这句注释掉,就输出rvfsu了 应该是c=getchar();这句把第一个字符q给接收了。后面的语句从u开始接收字符。所以有了vfsu的输出。
输入逗号的时候是执行 c=getchar();然后putchar(c);把逗号打印出来 然后while(c!=',')判断不符合,不执行后面的语句
这时候getchar()还要获取一个字符,这时候缓冲区里原本存的数据是chian\n,'c'被第一次循环处理掉了,剩下了hina\n。缓冲区里还有数据,getchar()就获取了第一个字符'h'。 之后就重复上面的过程 putchar(getchar()) != '!'-->putchar('h') != '!'-->'h' != '!'-->1 ...
(c=getchar())!=' ')如果c的值不等于空格,执行while循环 ,不断把键盘的值存给c,当从键盘输入的值是空格,c的值就是空格的ASCII码值,此时while循环终止,不再从键盘取得字符赋给c。相当于:从键盘输入一个字符 :getchar()然后把字符的值赋给c :c=getchar()然后判断c是否等于‘ ’ ,...
第一个读入的字符是Y 所以c == Y 这个--c就是X 所以putchar(--c)输出的就是X 下一个读取的字符是?但是?不满足while循环的条件 所以while不再执行 后面的字符也不再读取
while括号里是读入非换行符的字符,if括号里是判断这个字符是否是大写或者小写字母 l月落乌啼l 酱油 4 char是一个用于储存字符的类型char c 是声明字符变量:cc=getchar()是把你键盘输入的数据赋值给变量c后面是判断c的值是不是换行符这是循环执行的条件,作用是当你输入换行符时跳出循环。IF里的第一个条件是...