(۲۱ بهمن ۱۳۹۱ ۱۲:۲۶ ق.ظ)S_Mehrjoyan نوشته شده توسط: (20 بهمن ۱۳۹۱ ۰۲:۳۷ ب.ظ)mmoharrer نوشته شده توسط: - اگر به جای == از = در زبان C استفاده کنیم چه خطایی میده؟ گزینه ۱ : Syntax اما الان فکر می کنم شاید اشتباه زدم چون C در تخصیص مقدار برمی گردونه ... نمی دونم
- ساختار repeatUntil : گزینه ۱ که اول عملیات بود بعد شرط
- کدام زبانها جمع آوری خودکار زباله رو انجام میدن ؟ یعنی ستم بود همه حالت اینزبانها رو حفظ کرده بودم جز این موردشون رو
من فکر کنم میشه خطای ساختاری(نحوی) آخه کار تلیلگر نحوی اینه که چک کنه که برنامه با ساختار گرامری زبان همخونی دارن یا نه و چون نوشتن = به جای == در شرط if جز قواعد گرامری زبان c هست جواب تحلیلگر نحوی میشه
زبان های C , C++ زبان های خیلی قابل انعطافی هستند و دست برنامه نویس رو به شدت باز می زارند.
نه تنها نوشتن = به جای == خطای منطقی هستش، دستیابی به اندیسی خارج از اندیس های مجاز آرایه هم در C, C++ خطای منطقی به حساب میاد... . مثلا اگر آرایه ده تا عنصر داشته باشه، و در برنامه به عنصر یازدهم دستیابی بشه، کامپایلر خطا نمیده.(هشدار میده ولی خطا نمیده.)
طراح میتونست آرایه رو هم مثال بزنه و همه اشتباه کنند!