#1
by taku_s » 6年前
#include <iostream>
using namespace std;
int main(){
int data[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
cout << *(data[ i ]+j) << '\t';
}
cout << endl;
}
return 1;
}
これを
cout << *(data+(i*3)+j) << '\t';
にするとアドレスが表示になってしまいます。
1 2 3 が表示されそうな気がするのですが、何故でしょうか?
#include <iostream>
using namespace std;
int main(){
int data[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
[highlight=yellow]cout << *(data[ i ]+j) << '\t';[/highlight]
}
cout << endl;
}
return 1;
}
これを
[highlight=yellow]cout << *(data+(i*3)+j) << '\t';[/highlight]
にするとアドレスが表示になってしまいます。
1 2 3 が表示されそうな気がするのですが、何故でしょうか?