最近在找工作,遇到一道筆試題,讓我很是糾結不知道這個題到底考的是什麼,執行了之後豁然開朗
5 char a = "123";
6 char b = "123";
7 const char c ="123";
8 const char d ="123";
9 char* e = "123";
10 char* f = "123";
11 const char* g="123";
12 const char* h="123";
問題是 a==b,c==d,e==f,g==h?
結果是:
[lalala@jjjjj ~]$ ./a.out
a=0x7fffaca3df50
b=0x7fffaca3df40
c=0x7fffaca3df30
d=0x7fffaca3df20
e=0x4006d8
f=0x4006d8
g=0x4006d8
h=0x4006d8
解析:因為a和b都是在棧中的,雖然他倆的值是一樣的,但是他們在棧中存放的位置不一樣
c和d同理
e、f、g、h他們四個都是指標都是指向資料段中.ordata區的「123」,所以他們的位址是一樣的;
字串筆試題
1 輸入乙個整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數345 思路 依次掃瞄字串,每掃到乙個字元,把之前的得到的數字乘以10再加上當前字元表示的數字。注意 還可能包括 或 表示整數的正負。需要特殊處理 考慮非法輸入 1 判斷指標是否為空 2 輸入的字串可能不是數字的字元,...
有關字串的筆試題
小總結 1.轉換字串格式為原來字串裡的字元 該字元連續出現的個數 1233422222轉換為1121324125 思路 兩個vector來存放,乙個存放字元,乙個存放次數 void printchte string str mytime.push back time mychar.push back...
常見的字串,指標筆試題
題目1 寫乙個c程式對字串進行壓縮,例如 abbcccaaaa 經過壓縮後變成 a1b2c3a4 實現 include intmain else printf n return0 題目2 縮減字串,例如 000001024 縮減後就變成 1024 用while迴圈過濾掉陣列前多餘的字元 0 incl...