getchar()和scanf()连续使用 怎么让scanf不读取getchar()不小心多输入的字符

getchar()和scanf()连续使用 如何让scanf不读取getchar()不小心多输入的字符
  while ((option = getchar()) != 'E') {
        switch (option) {
        case '1':
              scanf("%d", &result);
....
 
当我在 getchar()输入当单个字节是不小输入了两个以上,这时 scanf 就把剩下部分给读进来了,如何解决。我希望 scanf 由我自己输入。请问如何控制?
------解决方案--------------------
这样试试getchar()和scanf()连续使用 怎么让scanf不读取getchar()不小心多输入的字符
 while ((option = getchar()) != 'E') 
 {
 while(getch()!='\n');
        switch (option) 
        {
        case '1':
              scanf("%d", &result);
....