1 차원 배열을 성공적으로 뒤집었지만 내용을 알아 내면 내용이 다른 숫자로 인쇄됩니다.C++의 역 배열
4
3
2
1
-858993460
-858993460
4
-858993460
-1021245226
12384668
3697177
1
14484784
14501672
-1021245434
0
Press any key to continue . . .
왜 여분의 숫자가 인쇄되어 있는지 알 수 없습니다. 아래는 내 소스 코드입니다 :
#include <iostream>
#include <array>
using namespace std;
void flipRow(int array[], int row) {
int temp;
for (int i = 0; i < sizeof(array)/2; i++) {
//cout << "Hi" << endl;
temp = array[i];
array[i] = array[row-1];
array[row-1] = temp;
row--;
}
}
int main() {
const int ROW = 4;
int array[ROW] = { 1, 2, 3, 4 };
flipRow(array, ROW);
for (int i = 0; i < sizeof(array); i++) {
cout << array[i] << endl;
}
system("pause");
return 0;
}
이러한 주소가 있습니까? 왜 누군가가 그것을 인쇄하고 있는지 말할 수 있습니까? 고맙습니다.
'sizeof (배열)'은 생각했던대로 작동하지 않습니다. – drescherjm
이 답변을보십시오 http://stackoverflow.com/questions/37538/how-do-i-determine-the-size-of-my-array-in-c – Hagai
거의 모든 옵션 인 경우, 난 소스를 거쳐 그냥 사용 : 메인()에서 [**'std :: reverse' **] (http://en.cppreference.com/w/cpp/algorithm/reverse). – WhozCraig