2012-02-06 2 views
-4

Моя проблема в том, что второй scanf(" %s", name); не работает. Он просто не ждет ввода пользователя.scanf() выражение пропущено

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?

+0

Консистенция прекрасна – sidyll

+0

* Что * для петли? –

+0

Возможный дубликат [когда я пытаюсь отсканировать более 1 строки в программировании c, есть что-то не так) (http://stackoverflow.com/questions/9165873/when-i-try-to-scan-more-than-1 -string-in-c-programming-there-is-something-wrong) –

ответ

3

Ваша проблема заключается в следующем строке:

scanf("%.2f", &ID); 
  1. У вас ошибка есть, вы имели в виду &CGPA.
  2. Здесь не нужно указывать точность (.2), это зависит от пользователя. Простой %f будет работать нормально.

Он должен выглядеть следующим образом:

scanf("%f", &CPGA); 

Надеется, что это помогает.

+0

благодарит кучу людей – user1193041

Смежные вопросы