Что бы это значило?

Язык Си позволяет создавать выражения, которые не сразу и поймешь.
Знакомый принес с собеседования вот такую задачку:

Что выведет программа?

  int x = 2;
  x += x+++++x; 
  printf( "x=%u\r\n", x );

Ответ:

x = 10

[WpProQuiz 1]

Запись опубликована в рубрике Великий и могучий Си с метками , . Добавьте в закладки постоянную ссылку.

3 комментария: Что бы это значило?

  1. yl говорит:

    X=10. check your qualification :)

  2. Артём Двинин говорит:

    Спасибо.
    Посыпаю голову пеплом :)

  3. yury говорит:

    А что выведет код:
    int a = 1;
    int *b = a;
    int *c = a;
    int d = (*b+1)/*c;
    printf(«%i\n»);
    /*ответ: ошибку после этого комментария*/

Добавить комментарий

Ваш e-mail не будет опубликован.

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>