Загрузка...

An easy question for those who fumble in C

Thread in C/C++ created by DumBler Mar 9, 2019. 697 views

  1. DumBler
    DumBler Topic starter Mar 9, 2019 Добрый человек 84 Apr 5, 2018
    В чем разница между этими двумя кодами:

    ________________________________Первый:
    #include <stdio.h>
    #include <stdlib.h>
    #include <iostream>
    int main()
    {

    int x,y;
    scanf("%d%d",&x,&y);
    if(x)
    M1: if(y) printf("MO");
    else printf("GO");
    printf("PE");

    system("pause");
    }

    __________________________-Второй:
    #include <stdio.h>
    #include <stdlib.h>
    #include <iostream>
    int main()
    {

    int x,y;
    scanf("%d%d",&x,&y);
    if(x)
    M1: {if(y) printf("MO");} <--- Здесь добавлены фигурные скобки
    else printf("GO");
    printf("PE");


    system("pause");
    }
     
  2. GeTRekT1337
    GeTRekT1337 Mar 9, 2019 \/\/ ROAD TO EXPERT /\/\ 212 May 24, 2017
    если закрыть цикл то наверное дальше код не будет выполняться
     
  3. GeTRekT1337
    GeTRekT1337 Mar 9, 2019 \/\/ ROAD TO EXPERT /\/\ 212 May 24, 2017
    но не программист просто так сказал
     
  4. kosolapka
    kosolapka Mar 9, 2019 Слишком ленивый, чтобы писать. 796 Jan 2, 2018
    if это не цикличная функция, а выбора
     
  5. GeTRekT1337
    GeTRekT1337 Mar 9, 2019 \/\/ ROAD TO EXPERT /\/\ 212 May 24, 2017
    функция if значит же если?
     
  6. Joomboosick
    Joomboosick Mar 9, 2019 Я тут понял что такое c# и мне так понравилось 3 Sep 24, 2017
    GeTRekT1337, Функция???? это оператор
     
  7. DumBler
    DumBler Topic starter Mar 9, 2019 Добрый человек 84 Apr 5, 2018
    Кароч. Если с фигурными то оно выполняет if(y) printf("MO"); при x=0.
    Без них оно его пропускает
     
  8. kosolapka
    kosolapka Mar 9, 2019 Слишком ленивый, чтобы писать. 796 Jan 2, 2018
    да, означает она если, ты даешь ей задачку, если результат задачки - правда - она выполняет, если не правда - не выполняет, цикл, что-то другое
     
  9. kosolapka
    kosolapka Mar 9, 2019 Слишком ленивый, чтобы писать. 796 Jan 2, 2018
    Joomboosick, извиняйте, не так выразился
     
  10. kosolapka
    kosolapka Mar 10, 2019 Слишком ленивый, чтобы писать. 796 Jan 2, 2018
    я одну хуету не понимаю, что у тебя делает M1:?
    Я не эксперт по Си, много в нем не шарю, но такое не видел
     
  11. Joomboosick
    Joomboosick Mar 10, 2019 Я тут понял что такое c# и мне так понравилось 3 Sep 24, 2017
    kosolapka, Ну вообще это наследование, но что оно делает тут я не пойму, как и то что он в иф ставит интегер без сравнения
     
  12. kosolapka
    kosolapka Mar 10, 2019 Слишком ленивый, чтобы писать. 796 Jan 2, 2018
    насколько я помню в хрестиянском си наследования нет
     
  13. Joomboosick
    Joomboosick Mar 10, 2019 Я тут понял что такое c# и мне так понравилось 3 Sep 24, 2017
    kosolapka, этот код для тебя читабелен?
     
  14. Joomboosick
    Joomboosick Mar 10, 2019 Я тут понял что такое c# и мне так понравилось 3 Sep 24, 2017
    kosolapka, да и вообще ты никогда не слышал про std::cout?
     
  15. kosolapka
    kosolapka Mar 10, 2019 Слишком ленивый, чтобы писать. 796 Jan 2, 2018
    про это слышал
     
  16. Joomboosick
    Joomboosick Mar 10, 2019 Я тут понял что такое c# и мне так понравилось 3 Sep 24, 2017
    kosolapka, это наследования из пространства имён
     
  17. Joomboosick
    Joomboosick Mar 10, 2019 Я тут понял что такое c# и мне так понравилось 3 Sep 24, 2017
    у него наверное длл'ка M1
     
  18. Joomboosick
    Joomboosick Mar 10, 2019 Я тут понял что такое c# и мне так понравилось 3 Sep 24, 2017
    там тип "::" это сокращённое наследование(более быстрое), а ":" это не сокращённое но так писали когда динозавры под хату срали
     
  19. Joomboosick
    Joomboosick Mar 10, 2019 Я тут понял что такое c# и мне так понравилось 3 Sep 24, 2017
    но я как новичок больше к c# он прям убер простой
     
  20. BHOPIN
    BHOPIN Mar 12, 2019 70 Aug 9, 2018
    "else"/"else if" применяются к первому, стоящему за ними оператору, который обязательно должен быть "if"'ом/"else if"'ом.

    В первом коде "else" заметил, что позади него идёт "if(y)", так как он сразу же наткнулся на принадлежащий ему вызов функции "printf("MO");" (то есть, "else" в этом случае применяется к "if(y)").

    Во втором коде "else" заметил, что позади него идёт "if(x)", так как он сразу же наткнулся на принадлежащую ему фигурную скобку (то есть, "else" в этом случае применяется к "if(x)").
     
Loading...
Top