PDA

View Full Version : چاپ آدرس کاراکتر



blaster-777
پنج شنبه 22 اسفند 1392, 18:03 عصر
سلام
من میخوام آدرس حافظه یک متغیر از نوع کاراکتر رو با استفاده از ارجاع چاپ کنم ولی تو خروجی از این چرت و پرتا چاپ میشه

a╠╠╠╠█ô☼U╘∙√
b╠╠╠╠╠╠╠╠╠╠╠a╠╠╠╠█ ô☼U╘∙√

char a = 'a';
char b = 'b';
cout << &a << endl << &b;

مشکل از چیه؟

motherboard
پنج شنبه 22 اسفند 1392, 18:14 عصر
سلام
من میخوام آدرس حافظه یک متغیر از نوع کاراکتر رو با استفاده از ارجاع چاپ کنم ولی تو خروجی از این چرت و پرتا چاپ میشه

a╠╠╠╠█ô☼U╘∙√
b╠╠╠╠╠╠╠╠╠╠╠a╠╠╠╠█ ô☼U╘∙√

char a = 'a';
char b = 'b';
cout << &a << endl << &b;

مشکل از چیه؟

سلام من اینکارو کردم.به نظرم درست باشه.

#include <conio.h>
#include <iostream>
using namespace std;
main()
{int a='a';
int b='b';
cout<<&a<<endl<<&b;
getch();
return 0;}

blaster-777
پنج شنبه 22 اسفند 1392, 18:26 عصر
سلام من اینکارو کردم.به نظرم درست باشه.

#include <conio.h>
#include <iostream>
using namespace std;
main()
{int a='a';
int b='b';
cout<<&a<<endl<<&b;
getch();
return 0;}



خوب با integer که مشکلی نداره
مشکل من با character هست

omid_kma
پنج شنبه 22 اسفند 1392, 18:52 عصر
خوب با integer که مشکلی نداره
مشکل من با character هست
از اون جایی که آدرس char از نوع char* هست cout سعی می کنه یک رشته رو چاپ کنه به این شکل بنویس :
cout << (void *) &a << endl <<(void *) &b;

motherboard
پنج شنبه 22 اسفند 1392, 19:05 عصر
دستور کاربر omid_kma دستور صحیحی است.البته می تونید به شکل زیر هم بنویسید با این تفاوت که ادرس رو به صورت دهدهی نشون میده ولی مقدارش برابر با همون رقم هگزا هست.

cout << int(&a) << endl <<int(&b);

rahnema1
پنج شنبه 22 اسفند 1392, 20:30 عصر
این جوری هم میشه


#include <stdio.h>
int main()
{
char a = 'a';
char b = 'b';
printf("%d,%d",&a,&b);
}