PDA

View Full Version : کد های اسکی در سی پلاس پلاس



هزاره سوم
شنبه 16 اسفند 1393, 11:34 صبح
سلام
توی سی پلاس پلاس اگر این کد رو بزنیم خروجی با توجه به جدول کد های اسکی یک عدد چاپ میشه

cout<<int("h")


حالا اگه این کد تغییر کنه به این صورت چطوری میاد و عدد این رشته رو در میاره؟؟جواب این میشه 170 . ولی میخوام بدونم اگر من بخوام به صورت دستی حساب کنم چی؟ چطور باید دو تا کاراکتر رو حساب کنم؟


cout<<int("hn");

rahnema1
شنبه 16 اسفند 1393, 13:51 عصر
سلام
"h" یک آرایه ثابت از char هست. یک آرایه می تونه تبدیل به اشاره گر بشه و اشاره گر هم میتونه تبدیل به عدد صحیح بشه
وقتی "h" را به int تبدیل می کنید اشاره گر به عنصر ابتدایی آرایه در عدد int ذخیره میشه نه کد اسکی h
باید بزنید ('int('h
دو تا کاراکتر را چه طور می خواهید حساب کنید یعنی مجموع اون دو تا را می خواهید؟

هزاره سوم
شنبه 16 اسفند 1393, 19:55 عصر
من میخوام بدونم وقتی همچین کدی اومد چه مقدار خروجی میاد؟؟

cout<<int("hn");


یا مشابه این. مسلما اگر کد رو بدیم به توربو خودش خروجی میده میخوام بدونم چجوری این خروجی حساب میشه

rahnema1
شنبه 16 اسفند 1393, 20:13 عصر
من میخوام بدونم وقتی همچین کدی اومد چه مقدار خروجی میاد؟؟

cout<<int("hn");


معلوم نیست چه نتیجه ای میاد!
وقتی رشته ای بین "" قرار می دهید با این کار یک آرایه تشکیل داده اید. این آرایه در یک محل از حافظه جا می گیره. وقتی این آرایه تبدیل به int کنید آدرس اون محلی که آرایه در اون ذخیره شده چاپ میشه، نه کد اسکی محتویات آرایه