[問題] 問一個指標問題
遇到的問題: (題意請描述清楚)
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
int array[3][3]={{1,2},{4,5,6},{7}};
int *ptr;
ptr =array[2];
cout<<*(ptr+1)<<endl;
cout<<*(array[0]+3)<<endl;
cout<<ptr[2]<<endl;//why is 0?
ptr =array[0]+1;
cout<<*ptr<<endl;
ptr+=1;
cout<<*(ptr++)<<endl;
cout<<ptr[2]<<endl;//why is 6?
system("pause");
return 0;
}
希望得到的正確結果:
0
4
0
2
0
6
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Dev-C++, Windows
有問題的code: (請善用置底文標色功能)
補充說明:
為什麼
ptr[2] 第一個是 0
第二次印出來是6
ptr[n]這代表什麼意思?
一為陣列我懂,就是array[n]的意思
但是二維呢?
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.39.115
推
04/19 15:30, , 1F
04/19 15:30, 1F
→
04/19 15:47, , 2F
04/19 15:47, 2F
推
04/19 17:09, , 3F
04/19 17:09, 3F
→
04/19 17:10, , 4F
04/19 17:10, 4F
→
04/19 17:10, , 5F
04/19 17:10, 5F
→
04/19 17:12, , 6F
04/19 17:12, 6F
推
04/19 17:16, , 7F
04/19 17:16, 7F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章