請看一下程式,並找找看這樣寫是否有問題?

2021-10-11 20:52:51 字數 935 閱讀 7268

試題1:

[color=rgb(51, 102, 153) !important]複製**

試題2:

[color=rgb(51, 102, 153) !important]複製**

試題3:

[color=rgb(51, 102, 153) !important]複製**

解答:

test1: 字串str1需要11個位元組才能存放下(包括末尾的'\0'),而string只有10個位元組的空間,strcpy會導致陣列越界

test2: 如果面試者指出字元陣列str1不能在陣列內結束可以給3分;如果面試者指出strcpy(string, str1)呼叫使得從str1記憶體起複製到string記憶體起所複製的位元組數具有不確定性可以給7分,在此基礎上指出庫函式strcpy工作方式的給10分

test3: if(strlen(str1) <= 10)應改為if(strlen(str1) < 10),因為strlen的結果未統計'\0'所占用的1個位元組

剖析:考查對基本功的掌握:

(1)字串以'\0'結尾;

(2)對陣列越界把握的敏感度;

(3)庫函式strcpy的工作方式,如果編寫乙個標準strcpy函式的總分值為10,下面給出幾個不同得分的答案: 2分

[color=rgb(51, 102, 153) !important]複製**4分

[color=rgb(51, 102, 153) !important]複製**7分

[color=rgb(51, 102, 153) !important]複製**

10分

[color=rgb(51, 102, 153) !important]複製**

(4)對strlen的掌握,它沒有包括字串末尾的'\0'。

讀者看了不同分值的strcpy版本,應該也可以寫出乙個10分的strlen函式了,完美的版本為

進來看一下

進來看下,知道的解答一下,實在是不明白.聽君一席話,勝讀十年書!include include using namespace std string fun1 const string s1,const string s2 const string fun2 string s1,const stri...

開發注意事項(開發前看一下,開發後看一下)

開發程式需要注意的點 1.操作刪除或者不能自由的恢復的資料,都需要新增上二次確認 防止資料誤刪 2.進行查詢個人資料,一定要判斷當前登入人是否有許可權 檢視,修改,刪除 一般都需要配合當前登入人標識資訊來判斷 防止他人操作別人的資料 3.盡量查詢資料使用get方式,修改,刪除,新增 使用post方式...

看一下Okhttp原始碼

看一下okhttp原始碼,學習一下框架的原理,加深對網路請求的理解。做一下筆記。獲取okhttpclient,一般應用只有乙個,便於共享response快取,執行緒池,復用連線 public call newcall request request 進入realcall 實際上同步請求呼叫的是rea...