Наверняка всё, что я сейчас скажу, уже многократно говорилось, но темы растут, и читать их с начала вновь прибывшим всё труднее, поэтому кто-то должен, повидимому, всё это говорить, время от времени. Судя по присланному в ЛС вопросу, время это наступило... снова.
Дорогие начинающие,
многие люди пытаются освоить программирование, "кидаясь в бой" без знания языка... но это неправильно, и в особенности в той ситуации, которую вы себе выбрали. Скажем, если язык Паскаль
почти позволяет начать с нуля (он ведь и задуман был, как язык для обучения программированию), то с языком Си, рассчитывать на то, что написать небольшую программу можно и с малыми познаниями - это наихудший сценарий. И времени потратите больше, и результата желаемого не получите. Если Паскаль (
как язык, предназначенный для обучения студентов) был изначально напичкан, по задумке Вирта, массой ограничений, исключающих все известные источники ошибок и то и дело заботливо "
даёт по рукам" программисту, чтобы тот придерживался безопасных приёмов программирования, то язык Си был создан для того, чтобы написать на нём (а не на языке ассемблера, как это делалось в те времена) операционную систему Unix. То есть, это язык для системных программистов - он задумывался с той мыслью, что компилятор
по определению не может понимать все хитрости, на которые способен программист, а потому "
должен выполнять любые его пожелания", даже "
Выстрелить себе в ногу", если тот потребует.
Вы же не пытаетесь вместо велосипеда начать ездить сразу на болиде - понимаете, что разобьетесь. Так и с языком Си - сначала изучите его правила, а уж потом учитесь писать.
Кроме того, как-то это выглядит... неуважением к людям на форуме - вместо того, чтобы попытаться разобраться самостоятельно, вы хотите, чтобы это за вас делали люди, которым так же, как и вам, хочется потратить своё время на что-то интересное. А что может быть интересного в пересказе вам учебника, который вы ленитесь почитать?
Мы не против того, чтобы помочь вам разобраться в трудных вопросах программирования, но тратить время на то, что вы сами должны были сделать, ещё
до того, как обратиться с вопросом, никто не может - "
life is very short" не только у вас...
Конечно, со времени появления языка Си время ушло далеко вперед - усложнились задачи, а вместе с ними и языки для их решения, но если уж вы взялись писать на языке Си, помните - компилятор сделает всё, что бы ни приказал программист (
если только его приказ возможно интерпретировать однозначно), а потому ответственность за результат лежит только на программисте и больше ни на ком - не стреляйте себе по ногам.
Удачи.
__________________________________________________ __________________________________
P.S. Я не утверждаю, что все спрашивающие одинаково ленятся почитать учёбник, но всё же...