1.c語言中的volatile關鍵字
volatile關鍵字是一種型別修飾符,用它宣告的型別變數表示可以被某些編譯器未知的因素更改,比如
作業系統、硬體或者其它執行緒等。遇到這個關鍵字宣告的變數,編譯器對訪問該變數的**就不再進行
優化,從而可以提供對特殊位址的穩定訪問。2.
訪問越界了:定義的陣列是a[0]-a[9],迴圈裡面是到a[10]了
3.
#includevoid foo(void)
int main(void)
執行結果可能為什麼?為什麼?在兩個foo();之間加入printf("hello\n");呢?
結果為隨機數;或者是隨機數 999;因為第一次釋放的空間有可能被第二次重新申請。
4.
#includeint main()
; _uniontest uniontest;
uniontest.i = 0x1420;
printf("%d\t%d\n", uniontest.ch[0], uniontest.ch[1]);
}
執行結果是什麼?
32 20
小端優先,先儲存20再儲存14,後面補0,把上面數轉化為2進製的數。由於是共享記憶體,所以把第乙個位元組給[0],第二個位元組給[1],你算一下,20對應的十進位制是32,14對應的十進位制是20
#includeint main()
5.
閱讀下列函式說明,並編寫函式 (10
分)(考點:工具語言 難度:較高)
《函式說
本題中的函式encode()實現對字串的變換.變換函式
encode()
順序考察已知字串的字元,按以下規則逐組生成新字串:
(1) 若已知字串的當前字元不是數字字元,則複製該字元於新字串中.
(2) 若已知字串的當前字元是乙個數字字元,且它之後沒有後繼字元,則簡單地將它複製到新字串中
(3) 若已知字串的當前字元是乙個數字字元,並且還有後繼字元,設該數字字元的面值為n
,則將它的後繼字元(包括後繼字元是乙個數字字元)重複複製
n+1次到新字串中.
(4) 以上述一次變換為一組,在不同組之間另插入乙個下劃線』_』用於分隔.例如:
encode()
函式對字串
26a3t2
的變換結果為
666_a_tttt_2
假定呼叫變換函式encode()時的已知字串中不含下劃線字元.
函式原形
>
int encode(char *instr,char *outstr);
**:
#includeint encode(char *instr,char *outstr)
{ char *ip,*op,c;
int k,n;
ip=instr;
op=outstr;
while (*ip)
{ if (*ip>='0'&&*ip<='9'&&*(ip+1))
{ n=*ip -'0' + 1;
c=*++ip;
for (k=0;k
2019 中興秋招筆試題1
2019.8.25中興 1.陣列按數字出現頻次排序 題意為從乙個亂序陣列中,將其中的整數按照出現的頻次多少來排列,比如輸入為 1,2,1,2,3,3,1,6,4,4,4,4 那麼輸出就應該為 4,4,4,4,1,1,1,2,2,3,3,6 其中,如果某兩個數字的出現頻次相同,那麼就按照輸入用例中的原...
文思筆試試題
1.建構函式與析構函式是否可以被過載,為什麼?2.指標和引用的區別。3.malloc 和new 的區別。4.字串反轉。用兩種方法,第二種方法只用乙個數串,直接互換。5.乙個time 類,包含 minute 和sec 兩個資料成員。模擬秒錶,每次走一秒,滿 60秒進一分鐘,此時秒又從 0開始。clas...
21 2023年中興面試題
程式設計求解 輸入兩個整數 n 和 m,從數列1,2,3.n 中 隨意取幾個數,使其和等於 m 要求將其中所有的可能組合列出來.分析 遞迴法 思路 1.首先判斷,如果n m,則n中大於m的數不可能參與組合,此時置n m 2.n m,n本身符合條件,輸出 3.n 給出 include int resu...