مشکل حل شد. y
اشارهگری به ابتدای آرایهی کاراکتری y
است. بنابراین y + int
میشه اشارهگری کاراکتری به یه خانه از حافظه، دقیقاً به تعداد مشخص بیشتر از y
. بنابراین y+x
میشه اشارهگری به x
خانه بعد از ابتدای آرایه. اگه خط زیر رو تعویض کنیم
char y[] = "37456";
چیزی که چاپ میکنه کاراکتر 5
هست. چون آدرس ۳ خانه بعد از ابتدای آرایه آدرس کاراکتر '5'
هست.
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)