Загрузка...

Легкий вопрос для тех кто шарит в Си

Тема в разделе C/C++ создана пользователем DumBler 9 мар 2019. 694 просмотра

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

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

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