Инструкции в неправильном порядке в очень простой программе

#c #eclipse

#c #eclipse

Вопрос:

Я начинаю изучать C. Поскольку я обычно пишу на JAVA, я решил использовать IDE Eclipse, а не Code:: Blocks. И я уже экспериментирую с ошибкой в этой очень простой программе :

 #include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
    int number=0;

    printf("Type a number :n");
    scanf("%d", amp;number);
    printf("You typed %d",number);

    return 0;
}
  

Когда я компилирую и запускаю, я ожидаю чего-то вроде :

Введите число
(…) Я ввожу свой номер,
который Вы ввели xxx

Но это не то, что я получаю. Когда я компилирую и запускаю, в консоли ничего не появляется. И когда я набираю число и нажимаю «Enter», я, наконец, получаю :

Введите число,
которое вы ввели xxx

Что не так? Почему инструкции выполняются не в ожидаемом порядке? Это проблема с Eclipse?

Спасибо за ваши ответы.

Комментарии:

1. Не вдаваясь в технические подробности, да, это проблема с IDE.

2. программа выглядит нормально. Попробуйте запустить ее с консоли и посмотрите, получите ли вы правильное поведение.

3. Если вы используете Linux, вы можете скомпилировать с помощью command: gcc main.c -o exec и запустить ./exec , вы исключите проблему с IDE.

4. Хорошо, я просто скопировал / вставил программу в Code::Blocks, и это работает как по волшебству. Итак, проблема, похоже, связана с Eclipse. Eclipse — серьезная среда разработки. Они разработали плагин для C / C , и в такой простой программе есть ошибка??? Это немного невероятно…

5. Программа не печатает ‘xxx’, она печатает число. Какое число выводится при запуске в Eclipse? Вы вводили это число раньше?

Ответ №1:

Ну, это ошибка с Eclipse.

ответ хессамхедие помог мне разобраться и, после поиска слов

«Eclipse, scanff fflush(стандартный вывод)»

в Google я нашел много сообщений об этой ошибке, которая до сих пор не решена.