wang815309286 发表于 2016-10-15 17:11:16

关于getchar()不能重复从缓冲区提取字符指的是什么意思。

while((letter=getchar())!='Y')         //改为‘y’
      {
            getchar();
                switch(letter)
                {
                case 'S':printf("please input second letter\n");
                        if((letter=getchar())=='a')
                        {
                              printf("saturday\n");
                        }
                        else if(letter=='u')
                        {
                              printf("sunday\n");
                        }
从别人的帖子看到了这个程序,但是有点不懂为什么if((ch=getchar())==‘u')这样不行呢?

wang815309286 发表于 2016-10-15 17:12:46

而像ch=getchar());if(ch=='a')这样则是正确的

李星 发表于 2016-10-15 20:35:16

怎么不行啊 ,你上机 有什么不对吗??

Krant5 发表于 2016-10-16 09:59:17

getchar取一个少一个 ,如果用来判断,那个值下次就取不到了

wang815309286 发表于 2016-10-17 15:22:23

Krant5 发表于 2016-10-16 09:59
getchar取一个少一个 ,如果用来判断,那个值下次就取不到了

懂了~感谢~
页: [1]
查看完整版本: 关于getchar()不能重复从缓冲区提取字符指的是什么意思。