下面程式會輸出什麼結果?
#include
#include
int main()
; char **pa = a;
pa++;
printf("%s\n", *pa);
system("pause");
return
0;}
答案:
解析:
char *a = ;
這一行**表示建立了乙個字元型的指標陣列a,陣列裡有三個元素。如下圖:
陣列裡存了三個字元型指標,每個指標指向對應的字串。指標裡存的是字串首元素的位址,第乙個char*存的是字元』w』的位址,第二個char*存的是字元』a』的位址,第三個char*存的是字元』a』的位址
char **pa = a;
這一行**表示:陣列名代表陣列首元素的位址,把陣列首元素的位址存到二級指標pa裡,如下圖:
這一行**表示:
char**pa: 第乙個與char結合,表示此指標是字元型的指標,第二個與pa結合,表示pa是乙個指標。
pa++表示向後偏移乙個char*指標,所以char**pa就指向第二個char*,如下圖:
表示對pa所指向的char*進行解引用,所以就訪問到了「at」(pa是乙個二級指標,對它進行解引用可以訪問char*型別的變數)
阿里巴巴面試題
作業系統的任務排程 房間內有n 1個群眾,1個明星,群眾之間的認識情況未知,所有的群眾都認識這個明星,現在有乙個機器可以問乙個人是否認識另乙個人,效率為o 1 請設計乙個演算法在n個人中找出這個明星。前線戰場有n個戰士,每個戰士都掌握了一些情報,戰士之間的交流 比如打 可以交換雙方的情報。請設計乙個...
阿里巴巴js面試題3
該題難度係數 考查的技術點 1 this 2 閉包 題目如下 var name a var object console.log object.getnamefunc var name2 a var object2 console.log object2.getnamefunc 執行結果 接下來我們...
最全阿里巴巴Java面試題大揭秘
1.結合資料庫存在城市人口表table person fid number fname varchar2 fage number f varchar2 fcity varchar2 1xiaoming 11male燕國2 wangming 12female楚國3 zhangsan 13female ...