سلام، برنامه ای که یک کلمه را با استفاده از حلقه میگیره و تعداد حروف رو مشخص میکنه، چون در انتهای حلقه ; این علامت قرار داره و بعد از دستور حلقه دستور cout. رو داده که شمارنده چاپ بشه، و داخل حلقه شرط گذاشته که تا وقتیکه کاراکتر نقطه نشده باشه به شمردن و اضافه کردن به شمارشگر ادامه بده و قبلش استاد میگه وقتی آخر حلقه علامت ; میاد وبعد دستور cout میاد اون آیی در cout چاپ میشه که به ازای اون آی شرط حلقه دیگه برقرار نیست، وبعد مثال .abcde رو زده خوب تو این مثال شمارنده وقتی اولش یک هست کاراکتر a رو میگیره چون نقطه نبود یکواحد زیادش میکنه و آی برابر 2میشه وبازهم نقطه نیست تا آخر، حالا وقتی به آی برابر 5میرسه کاراکتر e رو میخونه و چون نقطه نبود یکواحد به آی زیاد میشه و آی 6 میشه ونقطه رو میگیره اینجا دیگه شرط حلقه بهم میخوره و از حلقه خارج میشه، پس باید تو دستور cout عدد 6 چاپ بشه ولی چرا 5 چاپ میشه؟؟؟؟؟؟؟
و یه سوال دیگه هم داشتم اینکه ;a=2
;++b=a*a چرا حاصل این عبارت 6 میشه