首页 > 代码库 > getchar()不停止原因

getchar()不停止原因

应该是你的输入流中还有残留的字符,getchar()()会接受那个字符。你可以在调用getchar()()之前用fflush(stdin)刷新一下输入缓冲区。
上面一段里面,应该有读入语句吧,没读干净,输入流里还有剩余的字符,就直接被getchar吞掉了,所以没有等待输入。

技术分享
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    double f;
    f=(1.0/6)*pow(-1,6);
    cout<<f<<endl;
}
技术分享

 


技术分享
 1 #include<iostream>
 2 using namespace std;
 3 class A
 4 {
 5    public:
 6     virtual void test()
 7     {
 8         cout<<"1"<<endl;
 9     }
10 };
11 class B:public A
12 {
13 public:
14    void test()
15    {
16        cout<<"2"<<endl;
17    }
18 };
19 void F(A *pa,A &ra,A a)
20 {
21    pa->test();
22    ra.test();
23    a.test();
24 }
25 
26 int main()
27 {
28 B b;
29 F(&b,b,b);
30 return 0;
31 }
技术分享

 

 

getchar()不停止原因