ใครรู้ ภาษา C เข้ามาช่วยหน่อยครับ ผมงง (โค้ดสั้นๆเอง)

กระทู้คำถาม
คือโปรแกรม มันจะข้ามคำสั่ง scanf("%c",&re); ไปเลย ถ้าไม่ใส่คำสั่ง scanf อีกคำสั่งไว้ก่อน
โค้ดตามนี้นะครับ


#include <stdio.h>
#include <conio.h>
#include <math.h>

main()
{
    int choice;
    float num1,num2,result;
    char re;
    
    re = 'y';
while(re == 'y')
{
    
  printf("Do you want to to add[1] , minus[2] , multiply[3] or divide[4]\n");
  scanf("%d",&choice);
  
  printf("Enter two number separated by space bar : ");
  scanf("%f %f",&num1,&num2);
  
  if(choice == 1)
  {    
      result = num1 + num2;
  }
  else
  if(choice == 2)
  {
      result = num1 - num2;
  }
  else
  if(choice == 3)
  {
      result = num1 * num2;
  }
  else
  if(choice == 4)
  {
      result = num1 / num2;
  }
  
  printf("The result is %f \n\n",result);
  printf("another [y/n]\n");
  
  scanf("%f",&result); //ถ้าไม่มีบรรทัดนี้ โปรแกรมจะไม่ทำงานบรรทัดต่อไป
  
  scanf("%c",&re);// มันจะข้ามคำสั่งบรรทัดนี้ไปเลย ถ้าไม่ใส่คำสั่งข้างบน
  
}//while Loop
}

ขอบคุณมากครับ
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่