Когда я компилирую и запускаю этот код C ++, я не получаю ожидаемый результат.
#include <iostream>
using namespace std;
int main()
{
int * i = new int;
long * l = new long;
char * c = new char[100];
float * f = new float[100];
cout << "i " << i << endl;
cout << "l " << l << endl;
cout << "c " << c << endl;
cout << "f " << f << endl;
delete i;
delete l;
delete []c;
delete []f;
cin.get();
return 0;
}
На Unix-машине я получаю
i 0x967f008
l 0x967f018
c
f 0x967f090
На машине с Windows значение для c печатается как строка случайных символов.
Пожалуйста, кто-нибудь может объяснить, почему он неправильно печатает указатель на массив символов.
Спасибо