Page 2 of 18 FirstFirst 123456789101112 ... LastLast
Results 11 to 20 of 174

Thread: Вопрос на засыпку (Java, C#)

  1. #11
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    179,963

    Default Re: Вопрос на засыпку (Java, C#)

    PHP Code:
    #include <stdio.h>

    int main(int argc,char** argv)
    { static 
    int j=14,a,b;
      
    b=14;
      
    a=(b++)%3;
      
    j+=a;
      
    printf("\nj=%d\n",j);
    } 
    вот так = 16

    :grum:

    PHP Code:
    #include <stdio.h>

    int main(int argc,char** argv)
    { static 
    int j=14;
      
    j+=j++%3;
      
    printf("\nj=%d\n",j);
    } 
    а вот так = 17
    :grum:
    static int j=14;
    j+=j++%3; // j%3 = 2, j++ // 3
    Last edited by crazy-mike; 04-13-2011 at 10:01 AM.

  2. #12
    Патриот смешно's Avatar
    Join Date
    Apr 2003
    Location
    Страна чудес
    Posts
    55,561

    Default Re: Вопрос на засыпку (Java, C#)

    Майки, тебе двойку уже поставил. не дёргайся. :rofl:
    4 main reasons why Boston is the best place to live:Red Sox (Baseball), Patriots (Football) World Champions
    Celtics the NBA (Basketball), Bruins Stanley Cup (Hockey)

  3. #13
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    179,963

    Default Re: Вопрос на засыпку (Java, C#)

    Quote Originally Posted by смешно View Post
    Майки, тебе двойку уже поставил. не дёргайся. :rofl:
    Я и не дёргаюсь - просто проверил (меня интересовало - а почему 16 тоже неправильно. Я сначала подумал , что в ходе вычисления выражения изменило значение переменной j ещё до присваивания ). :grum:
    Я на самом деле ведь даже четыре теста написал - а не только эти два , которые тут выложил. Первой мыслью было - компилятор просто глючит.
    Кстати - из-за такой хреновины кросс-компилятор с языка C на Паскаль может давать "странные" результаты.
    Last edited by crazy-mike; 04-13-2011 at 10:53 AM.

  4. #14
    VIP Srg Clock's Avatar
    Join Date
    Feb 2010
    Location
    Тексизона
    Posts
    7,360

    Default Re: Вопрос на засыпку (Java, C#)

    Quote Originally Posted by смешно View Post
    int j = 14;
    j += j++ % 3;
    В уме. Расписываю ум:
    1. j = j + (j++ % 3)
    j = 14 + 15%3 = 14 + 0 = 14

    щас буду смотреть правильный ответ

    P.S. йоптель - сначала сделал описку-ошибку в уме 15%3 = 1... а должно быть 0 ! т.е. и я не без греха

  5. #15

    Default Re: Вопрос на засыпку (Java, C#)

    Quote Originally Posted by crazy-mike View Post
    14 :rofl:
    :grum::grum:
    14++ = 15
    15 % 3 = 0
    14 + 0 = 14
    позор. 17 будет.

  6. #16

    Default Re: Вопрос на засыпку (Java, C#)

    короче, яс вам по понятиям ща распишу чтоб без ништяков.

    короче Ж у вас 14. Ж++ -- эта херня выполнится в самом конце(тоесть на строчку ниже)
    Поэтому читаем вторую строчку так:
    Ж+=Ж%3 <----> Ж=Ж+(Ж%3)= Ж+2 = 14+2=16

    а теперь вспомнили про Ж++ ------> Ж =17

  7. #17

    Default Re: Вопрос на засыпку (Java, C#)

    Quote Originally Posted by смешно View Post
    ну что господа "профессионалы", пора бы вас протестировать. /подмигиваю/

    Итак задачка ( просьба НИКАКИХ reference, подсказок и компилирования..) используйте чисто ваш мозг. Пожалуйста ПОДРОБНО расскажите как получили ответ. Даю вам 3 дня, затем скажу ответ (с обьяснением). если кто незнает, то просьба не флудите.

    итак....чему будет равно j

    int j = 14;
    j += j++ % 3;

    Ответ получится такой же вне зависимости от языка

  8. #18
    VIP Srg Clock's Avatar
    Join Date
    Feb 2010
    Location
    Тексизона
    Posts
    7,360

    Default Re: Вопрос на засыпку (Java, C#)

    мдаа.. C# выдал совсем другой ответ.. :( Похоже мозк мой усох и пора мне на повышение, в архитекты или хотя бы супервайзоры..


    public static void Smeshno()
    {
    int j = 14;
    j += j++ % 3;
    Console.WriteLine("j = " + j);
    Console.ReadLine();
    }

    правильный ответ:
    j = 16


    кстати решарпер подчеркнул последнюю "j" и сказал "value assigned is not used in any execution path"

  9. #19

    Default Re: Вопрос на засыпку (Java, C#)

    а вот тебе смешно вопрос: что вот эта строчка делает? можешь ее опробовать.

    $x =~ s/^[\s\(\):]+//;

  10. #20

    Default Re: Вопрос на засыпку (Java, C#)

    Quote Originally Posted by Srg Clock View Post
    мдаа.. C# выдал совсем другой ответ.. :( Похоже мозк мой усох и пора мне на повышение, в архитекты или хотя бы супервайзоры..


    public static void Smeshno()
    {
    int j = 14;
    j += j++ % 3;
    Console.WriteLine("j = " + j);
    Console.ReadLine();
    }

    правильный ответ:
    j = 16


    кстати решарпер подчеркнул последнюю "j" и сказал "value assigned is not used in any execution path"
    это очень и очень странно хётя я не программирую на шарпе

Page 2 of 18 FirstFirst 123456789101112 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Russian America Top. Рейтинг ресурсов Русской Америки. Terms of Service | Privacy Policy Рейтинг@Mail.ru