scanf()表达式被跳过

时间:2012-02-06 20:56:18

标签: c scanf

我的问题是第二个scanf(" %s", name);不起作用。它只是不等待用户的输入。

int main()    
{
    int ID = 0;
    char name[100];
    float CGPA = 0;

    printf("enter name\n");
    scanf(" %s", name);

    printf("enter float\n");
    scanf("%.2f", &ID);

    printf("enter name\n");
    scanf(" %s", name);

    system("PAUSE");    
}

为什么跳过此scanf

1 个答案:

答案 0 :(得分:3)

您的问题出在以下几行:

scanf("%.2f", &ID);
  1. 你有错误,你的意思是&CGPA
  2. 您无需在此处指定精度(.2),这取决于用户。简单的%f可以正常使用。
  3. 它应该是这样的:

    scanf("%f", &CPGA);
    

    希望这有帮助。