Рубрики

Вывод программ на C | Комплект 1

Прогнозировать вывод следующих программ.

Вопрос 1

#include<stdio.h>

int main()

{

   int n;

   for(n = 7; n!=0; n--)

     printf("n = %d", n--);

   getchar();

   return 0;

}

Вывод: вышеуказанная программа идет в бесконечном цикле, потому что n никогда не равно нулю, когда проверяется условие цикла (n! = 0).

вопрос 2

#include<stdio.h>

int main()

{

   printf("%x", -1<<1);

   getchar();

   return 0;

}

Вывод зависит от компилятора. Для 32-битного компилятора это будет fffffffe, а для 16-битного — fffe.

Вопрос 3

# include <stdio.h>
# define scanf  "%s Geeks For Geeks "
main()
{

   printf(scanf, scanf);

   getchar();

   return 0;

}

Вывод:% s вундеркиндов для гиков вундеркиндов для гиков
Объяснение: После предварительной обработки фазы компиляции, оператор printf станет.

   printf("%s Geeks For Geeks ",  "%s Geeks For Geeks ");

Теперь вы можете легко догадаться, почему вывод% s Geeks For Geeks Geeks For Geeks.

Вопрос 4

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

enum {false, true};

int main()

{

   int i = 1;

   do

   {

      printf("%d\n", i);

      i++;

      if (i < 15)

        continue;

   } while (false);

  

   getchar();

   return 0;

}

Выход: 1
Объяснение: Цикл do wile проверяет условие после каждой итерации. Таким образом, после оператора continue управление передается оператору while (false). Поскольку условие ложно, «i» печатается только один раз.

Теперь попробуйте программу ниже.

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

enum {false, true};

int main()

{

   int i = 1;

   do

   {

     printf("%d\n", i);

     i++;

     if (i < 15)

       break;

     } while (true);

  

     getchar();

     return 0;

}

Вопрос 5

char *getString()

{

   char *str = "Nice test for strings";

   return str;

}

  

int main()

{

   printf("%s", getString());

   getchar();

   return 0;

}

Вывод: «Хороший тест для строк»
Вышеприведенная программа работает, потому что строковые константы хранятся в разделе данных (а не в разделе стека). Таким образом, когда getString возвращает *, str не теряется.

Рекомендуемые посты:

Вывод программ на C | Комплект 1

0.00 (0%) 0 votes