Сколько раз будет выполнен этот цикл

while i =6 do begin

Чему будет равно значение переменной «a» после выполнения этого цикла?
i:=3;

while l Попроси больше объяснений

  • Следить
  • Отметить нарушение
  • 22.11.2017

    Что ты хочешь узнать?

    Ответ

    • Комментарии
    • Отметить нарушение

    Ответ

    Сколько раз будет выполнен этот цикл?
    3 раза

    Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 2 раза?
    Число 3

    Чему будет равно значение переменной «a» после выполнения этого цикла?
    a = 12

    Сколько строк напечатает программа?
    5*8 = 40

    while i =6 do begin

    6)Чему будет равно значение переменной «a» после выполнения этого цикла?
    i:=3;

    while l Оцени ответ

    Если тебя не устраивает ответ или его нет, то попробуй воспользоваться поиском на сайте и найти похожие ответы по предмету Информатика.

    4 KAI10 [2014-01-29 20:05:00]

    Я пишу этот код, который принимает целое число (t) в качестве ввода от пользователя. Цикл будет исполнен всего лишь "t" раз. Но я нахожу, что он работает в течение (t-1) раз. Например, если я даю вход 3 , он запускает только 2 раз. Может кто-нибудь объяснить, почему это происходит?

    Я попробовал и использовал scanf("%s", &str) , он работает, но тогда я не могу взять строку как входную, содержащую пробелы.

    3 ответа

    scanf("%d", &t) потребляет только число во входном потоке и оставляет остальные символы. Когда вы вводите цифру и нажимаете клавишу ввода, после цифры появляется символ новой строки.

    Первый gets читает эту новую строку и возвращает пустую строку, за исключением новой строки. Первая итерация цикла печатает эту пустую строку.

    1 haccks [2014-01-29 20:08:00]

    Цикл повторяется 3 раза, как и следовало бы. Но кажется, что он выполняет итерацию 2 раза только из-за того, что символ
    , оставшийся позади gets в буфере, читается на второй итерации.
    Для первой итерации, когда вы вводите строку и нажимаете Enter , символ
    переходит в буфер со строкой. gets прекратить чтение, когда встречается , оставляя
    в буфере. На следующей итерации этот
    (непечатаемый символ) читается gets , а затем печатается на терминал.

    Читайте также  Символ больше или равно в автокаде

    ПРИМЕЧАНИЕ. Никогда не используйте функцию gets . Это больше не является частью стандарта C. Вместо этого используйте fgets .

    Я думаю, вы также можете использовать функцию scanf , чтобы решить вашу проблему, что строка не принимает ничего после SPACE . Кроме того, цикл работает (t-1) раз, потому что буфер не очищается из-за использования gets() . Чтобы решить эту проблему, вы можете использовать функцию getch() для очистки буфера. Следующий код должен работать, я думаю,

    В этом коде getch() очистит буфер, приняв бесполезное значение. Кроме того, что касается scanf() , ^ внутри scanf сообщает функции, что ему нужно взять ввод до тех пор, пока символ после ^ не встретится, который в этом случае является escape-последовательностью NEW LINE . Я попытался использовать некоторые небольшие слова, а не новую строку, и она тоже работала. Надеюсь, это очистит вашу проблему:)

    Ссылка на основную публикацию
    Adblock
    detector