我已經測試的與之相似代碼的兩個不同varianat不同類型的陣列,假設我有字符數組不同的行爲與
char x[]="snow comes in winter ";
然後下面的代碼
#include <iostream>
#include <string.h>
using namespace std;
int main(){
char x[]="snow comes in winter ";
int k=0;
int n=3;
cout<<x+n-k+1<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
打印"comes in winter "
而以下
#include <iostream>
#include <string.h>
using namespace std;
int main(){
//char x[]="snow comes in winter ";
int a[]={12,3,2,4,5,6,7};
int k=0;
int n=3;
cout<<a+n-k+1<<endl;
return 0;
}
打印0xbffd293c
如果我們改變了一點
#include <iostream>
#include <string.h>
using namespace std;
int main(){
//char x[]="snow comes in winter ";
int a[]={12,3,2,4,5,6,7};
int k=0;
int n=3;
cout<<*(a+n-k+1)<<endl;
return 0;
}
打印數量5. 所以我的問題是,爲什麼我們可以在字符數組的情況下訪問這麼容易?什麼是它的主要原因是什麼?我很curiousy並請可能有人請解釋一下?
你能澄清你的問題嗎? – Griwes
ok爲什麼它顯示出不同類型的數組的不同結果?(在這種情況下,給出了char和integer數組) –