This will only work if the data after your array is less than zero. In the typical case you cannot assume this, and so while this loop may work for now, eventually it will break. What you should be doing is looping from zero until you reach the length of the array instead:
for (int i = 0; i < 3; ++i)
cout << array[i];
or, you can use the new range-for loop in C++11:
for (int i : array)
cout << i;
Long story short: no. Your loop will not work 100% of the time, and therefore you should not use it.