公開(kāi)代碼測(cè)試表_第1頁(yè)
公開(kāi)代碼測(cè)試表_第2頁(yè)
公開(kāi)代碼測(cè)試表_第3頁(yè)
公開(kāi)代碼測(cè)試表_第4頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、C+/C 代碼表文件結(jié)構(gòu)重要性項(xiàng)結(jié)論頭文件和定義文件的名稱是否合理?頭文件和定義文件的目錄結(jié)構(gòu)是否合理?和版本是否完整?重要頭文件是否使用了 ifndef/define/endif 預(yù)處理塊?頭文件中是否只存放“”而不存放“定義”程序的版式重要性項(xiàng)結(jié)論空行是否得體?代碼行內(nèi)的空格是否得體?長(zhǎng)行拆分是否得體?“” 和 “” 是否各占一行并且對(duì)齊于同一列?重要一行代碼是否只做一件事?如只定義一個(gè)變量,只寫一條語(yǔ)句。重要If、for、while、do 等語(yǔ)句自占一行,不論執(zhí)行語(yǔ)句多少都要加“”。重要在定義變量(或參數(shù))時(shí),是否將修飾符 * 和 緊靠變量名?注釋是否清晰并且必要?重要注釋是否有錯(cuò)誤或者

2、可能導(dǎo)致誤解?重要類結(jié)構(gòu)的public, protected, private 順序是否在所有的程序中保持一致?命名規(guī)則重要性項(xiàng)結(jié)論重名規(guī)則是否與所采用的操作系統(tǒng)或開(kāi)發(fā)工具的風(fēng)格保持一致?標(biāo)識(shí)符是否直觀且可以拼讀?標(biāo) 識(shí) 符 的 長(zhǎng) 度 應(yīng) 當(dāng) 符 合 “ min-length &&max-information”原則?重要程序中是否出現(xiàn)相同的局部變量和全部變量?類名、函數(shù)名、變量和參數(shù)、常量的書寫格式是否遵循一定的規(guī)則?靜態(tài)變量、全局變量、類的成員變量是否加前綴?表達(dá)式與基本語(yǔ)句重要性項(xiàng)結(jié)論重要如果代碼行中的運(yùn)算符比較多,是否已經(jīng)用括號(hào)清楚地確定表達(dá)式的操作順序?是否編寫太復(fù)

3、雜或者多用途的復(fù)合表達(dá)式?重要是否將復(fù)合表達(dá)式與“真正的數(shù)學(xué)表達(dá)式”?重要是否用隱含錯(cuò)誤的方式寫if 語(yǔ)句? 例如(1) 將布爾變量直接與 TRUE、FALSE 或者 1、0 進(jìn)行比較。(2) 將浮點(diǎn)變量用“=”或“!=”與任何數(shù)字比較。(3) 將指針變量用“=”或“!=”與 NULL 比較。如果循環(huán)體內(nèi)存在邏輯,并且循環(huán)次數(shù)很大,是否已經(jīng)將邏輯移到循環(huán)體的外面?重要Case 語(yǔ)句的結(jié)尾是否忘了加 break?重要是否忘記寫 switch 的 default 分支?重要使用 goto 語(yǔ)句時(shí)是否留下隱患? 例如跳過(guò)了某些對(duì)象的構(gòu)造、變量的初始化、重要的計(jì)算等。常量重要性項(xiàng)結(jié)論是否使用含義直觀的

4、常量來(lái)表示那些將在程序中多次出現(xiàn)的數(shù)字或字符串?在 C+ 程序中,是否用 const 常量取代宏常量?重要如果某一常量與其它常量密切相關(guān),是否在定義中包含了這種關(guān)系?是否誤解了類中的 const 數(shù)據(jù)成員?因?yàn)?const 數(shù)據(jù)成員只在某個(gè)對(duì)象生存期內(nèi)是常量,而對(duì)于整個(gè)類而言卻是可變的。函數(shù)設(shè)計(jì)重要性項(xiàng)結(jié)論參數(shù)的書寫是否完整?不要省事只寫參數(shù)的類型而省略參數(shù)名字。參數(shù)命名、順序是否合理?參數(shù)的個(gè)數(shù)是否太多?是否使用類型和數(shù)目不確定的參數(shù)?是否省略了函數(shù)返回值的類型?函數(shù)名字與返回值類型在語(yǔ)義上是否?重要是否將正常值和錯(cuò)誤標(biāo)志混在一起返回?正常值應(yīng)當(dāng)用輸出參數(shù)獲得,而錯(cuò)誤標(biāo)志用return 語(yǔ)句

5、返回。重要在函數(shù)體的“處”,是否用 assert 對(duì)參數(shù)的有效性進(jìn)行檢查?重要使用了 assert? 例如情況與錯(cuò)誤情況,后者是必然存在的并且是一定要作出處理的。重要return 語(yǔ)句是否返回指向“棧內(nèi)存”的“指針”或者“引用”?是否使用 const 提高函數(shù)的健壯性?const 可以強(qiáng)制保護(hù)函數(shù)的參數(shù)、返回值,甚至函數(shù)的定義體?!癠se const whenever you need”內(nèi)存管理重要性項(xiàng)結(jié)論重要用 malloc 或 new 申請(qǐng)內(nèi)存之后,是否立即檢查指針值是否為 NULL?(防止使用指針值為 NULL 的內(nèi)存)重要是否忘記為數(shù)組和動(dòng)態(tài)內(nèi)存賦初值?(防止將未被初始化的內(nèi)存作為右值

6、使用)重要數(shù)組或指針的下標(biāo)是否越界?重要?jiǎng)討B(tài)內(nèi)存的申請(qǐng)與是否配對(duì)?(防止內(nèi)存泄漏)重要是否有效地處理了“內(nèi)存耗盡”問(wèn)題?重要是否修改“指向常量的指針”的內(nèi)容?重要是否出現(xiàn)野指針?例如(1) 指針變量沒(méi)有被初始化。(2) 用 free 或 delete了內(nèi)存之后,忘記將指針設(shè)置為NULL。重要是否將malloc/free 和 new/delete使用?重要malloc 語(yǔ)句是否正確無(wú)誤?例如字節(jié)數(shù)是否正確?類型轉(zhuǎn)換是否正確?重要在創(chuàng)建與動(dòng)態(tài)對(duì)象數(shù)組時(shí),new/delete 的語(yǔ)句是否正確無(wú)誤?C+ 函數(shù)的高級(jí)特性重要性項(xiàng)結(jié)論重載函數(shù)是否有二義性?重要是否了成員函數(shù)的重載、覆蓋與隱藏?運(yùn)算符的重載

7、是否符合制定的編程規(guī)范?是否內(nèi)聯(lián)函數(shù)?例如函數(shù)體內(nèi)的代碼比較長(zhǎng),函數(shù)體內(nèi)出現(xiàn)循環(huán)。重要是否用內(nèi)聯(lián)函數(shù)取代了宏代碼?類的構(gòu)造函數(shù)、析構(gòu)函數(shù)和賦值函數(shù)重要性項(xiàng)結(jié)論重要是否違背編程規(guī)范而讓C+ 編譯器自動(dòng)為類產(chǎn)生四個(gè)缺省的函數(shù):(1)缺省的無(wú)參數(shù)構(gòu)造函數(shù);(2)缺省的拷貝構(gòu)造函數(shù);(3)缺省的析構(gòu)函數(shù);(4)缺省的賦值函數(shù)。重要構(gòu)造函數(shù)中是否遺漏了某些初始化工作?重要是否正確地使用構(gòu)造函數(shù)的初始化表?重要析構(gòu)函數(shù)中是否遺漏了某些清除工作?是否錯(cuò)寫、錯(cuò)用了拷貝構(gòu)造函數(shù)和賦值函數(shù)?重要賦值函數(shù)一般分四個(gè)步驟:(1)檢查自賦值;(2)原有內(nèi)存;(3)分配新的內(nèi)存,并內(nèi)容;(4)返回 *this。是否遺漏了

8、重要步驟?重要是否正確地編寫了派生類的構(gòu)造函數(shù)、析構(gòu)函數(shù)、賦值函數(shù)?注意事項(xiàng):(1) 派生類不可能繼承基類的構(gòu)造函數(shù)、析構(gòu)函數(shù)、賦值函數(shù)。(2) 派生類的構(gòu)造函數(shù)應(yīng)在其初始化表里調(diào)用基類的構(gòu)造函數(shù)。(3) 基類與派生類的析構(gòu)函數(shù)應(yīng)該為虛(即加virtual 關(guān)鍵字)。(4) 在編寫派生類的賦值函數(shù)時(shí),注意不要忘記對(duì)基類的數(shù)據(jù)成員重新賦值。類的高級(jí)特性重要性項(xiàng)結(jié)論重要是否違背了繼承和組合的規(guī)則?(1) 若在邏輯上B 是A 的“一種”,并且 A 的所有功能和屬性對(duì)B 而言都有意義,則 B 繼承 A 的功能和屬性。(2) 若在邏輯上A 是B 的“一部分”(a part of),則不B 從A 派生,而

9、是要用 A 和其它東西組合出B。其它常見(jiàn)問(wèn)題重要性項(xiàng)結(jié)論重要數(shù)據(jù)類型問(wèn)題:()變量的數(shù)據(jù)類型有錯(cuò)誤嗎?()存在不同數(shù)據(jù)類型的賦值嗎?()存在不同數(shù)據(jù)類型的比較嗎?重要變量值問(wèn)題:()變量的初始化或缺省值有錯(cuò)誤嗎?()變量發(fā)生上溢或下溢嗎?()變量的精度夠嗎?重要邏輯問(wèn)題:()由于精度導(dǎo)致比較無(wú)效嗎?()表達(dá)式中的優(yōu)先級(jí)有誤嗎?()邏輯結(jié)果顛倒嗎?重要循環(huán)問(wèn)題:()循環(huán)終止條件不正確嗎?()無(wú)法正常終止(死循環(huán))嗎?()錯(cuò)誤地修改循環(huán)變量嗎?()存在誤差累積嗎?重要錯(cuò)誤處理問(wèn)題:()忘記進(jìn)行錯(cuò)誤處理嗎?()錯(cuò)誤處理程序塊一直沒(méi)有機(jī)會(huì)被運(yùn)行?()錯(cuò)誤處理程序塊本身就有毛病嗎?如報(bào)告的錯(cuò)誤與實(shí)際錯(cuò)誤

10、不一致,處理方式不正確等等。()錯(cuò)誤處理程序塊是“馬后 ”嗎?如在被它被調(diào)用之前軟件已經(jīng)出錯(cuò)。重要文件I/O 問(wèn)題:()對(duì)不存在的或者錯(cuò)誤的文件進(jìn)行操作嗎?()文件以不正確的方式打開(kāi)嗎?()文件結(jié)束不正確嗎?()沒(méi)有正確地關(guān)閉文件嗎?附錄 B :C+/C 試題本試題僅用于考查 C+/C 程序員的基本編程技能。內(nèi)容限于 C+/C 常用語(yǔ)法,不涉及數(shù)據(jù)結(jié)構(gòu)、算法以及深?yuàn)W的語(yǔ)法。成績(jī)能反映出考生的編程質(zhì)量以及對(duì) C+/C 的理解程度,但不能反映考生的智力和軟件開(kāi)發(fā)能力。筆試時(shí)間 90 分鐘。請(qǐng)考生認(rèn)真答題,切勿輕視。一、請(qǐng)?zhí)顚?BOOL , float, 指針變量 與“零值”比較的 if 語(yǔ)句。(1

11、0 分) 提示:這里“零值”可以是 0, 0.0 , FALSE 或者“空指針”。例如 int 變量 n 較的 if 語(yǔ)句為:if ( n = 0 ) if ( n != 0 )以此類推。與“零值”比二、以下為 Windows NT 下的 32 位 C+程序,請(qǐng)計(jì)算 sizeof 的值(10 分)三、簡(jiǎn)答題(25 分)1、頭文件中的 ifndef/define/endif 干什么用?#ifndef xy_h #define xy_h #endif2、#include<filename.h>標(biāo)準(zhǔn)自定義的目錄和 #include“filename.h” 有什么區(qū)別?3、const 有什

12、么用途?(請(qǐng)至少說(shuō)明兩種)本義:不變的,修飾常量,返回指針不可變,不可值給一個(gè)非,用于指針傳值,使用權(quán)其不充,常駐,物別是自定義類4、在 C+ 程序中調(diào)用被 C 編譯器編譯后的函數(shù),為什么要加 extern “C”采用外部連接,編譯5、請(qǐng)簡(jiǎn)述以下兩個(gè) for 循環(huán)的優(yōu)缺點(diǎn)?charstr = “Hello” ; char*p = str ;intn = 10;請(qǐng)計(jì)算sizeof (str ) = 6 sizeof ( p ) = 4 sizeof ( n ) =4void Func ( char str100)請(qǐng)計(jì)算sizeof( str ) = 4void *p = malloc( 100

13、);請(qǐng)計(jì)算sizeof ( p ) =4請(qǐng)寫出 BOOLflag 與“零值”比較的 if 語(yǔ)句:if(flag)請(qǐng)寫出 floatx 與“零值”比較的 if 語(yǔ)句:if(x<0.001&&x>-0.001)請(qǐng)寫出 char*p 與“零值”比較的 if 語(yǔ)句:if(NULL=p)四、有關(guān)內(nèi)存的思考題(20 分)void GetMemory(char *p)p = (char *)malloc(100);void Test(void)char *str = NULL; GetMemory(str); strcpy(str, "hello world"

14、); printf(str);請(qǐng)問(wèn)運(yùn)行 Test 函數(shù)會(huì)有什么樣的結(jié)果? 答:char *GetMemory(void)char p = "hello world" return p;void Test(void)char *str = NULL; str = GetMemory(); printf(str);請(qǐng)問(wèn)運(yùn)行 Test 函數(shù)會(huì)有什么樣的結(jié)果? 答:返,出現(xiàn)亂碼Void GetMemory2(char *p, int num)*p = (char *)malloc(num);void Test(void)char *str = NULL; GetMemory(&am

15、p;str, 100); strcpy(str, "hello"); printf(str);請(qǐng)問(wèn)運(yùn)行 Test 函數(shù)會(huì)有什么樣的結(jié)果? 答:void Test(void)char *str = (char *) malloc(100); strcpy(str, “hello”);free(str); if(str != NULL)strcpy(str, “world”); printf(str);請(qǐng)問(wèn)運(yùn)行 Test 函數(shù)會(huì)有什么樣的結(jié)果? 答:/ 第一個(gè)for (i=0; i<N; i+)if (condition) DoSomething();elseDoOthe

16、rthing();/ 第二個(gè)if (condition)for (i=0; i<N; i+) DoSomething();elsefor (i=0; i<N; i+) DoOtherthing();優(yōu)點(diǎn):可缺點(diǎn):若 n 大,則效率不高優(yōu)點(diǎn): 缺點(diǎn):五、編寫 strcpy 函數(shù)(10 分) 已知 strcpy 函數(shù)的原型是char *strcpy(char *strDest, const char *strSrc);其中 strDest 是目的字符串,strSrc 是源字符串。(1)不調(diào)用C+/C 的字符串庫(kù)函數(shù),請(qǐng)編寫函數(shù) strcpy(2)strcpy 能把 strSrc 的內(nèi)容

17、到 strDest,為什么還要 char * 類型的返回值?六、編寫類 String 的構(gòu)造函數(shù)、析構(gòu)函數(shù)和賦值函數(shù)(25 分) 已知類 String 的原型為:class Stringpublic:String(const char *str = NULL); String(const String &other); String(void);/普通構(gòu)造函數(shù)/ 拷貝構(gòu)造函數(shù)/ 析構(gòu)函數(shù)String & operateprivate:=(const String&other);/ 賦值函數(shù)char*m_data;/ 用于保存字符串;請(qǐng)編寫 String 的上述 4 個(gè)函

18、數(shù)。附錄 C :C+/C 試題的與評(píng)分標(biāo)準(zhǔn)一、請(qǐng)?zhí)顚?BOOL , float,指針變量與“零值”比較的if語(yǔ)句。(10 分)二、以下為 Windows NT 下的 32 位 C+程序,請(qǐng)計(jì)算 sizeof 的值(10 分)三、簡(jiǎn)答題(25 分)1、頭文件中的 ifndef/define/endif 干什么用?(5 分)答:防止該頭文件被重復(fù)2、#include<filename.h>。和#include“filename.h” 有什么區(qū)別?(5 分),編譯器從標(biāo)準(zhǔn)庫(kù)路徑開(kāi)始搜索 filename.h,編譯器從用戶的工作路徑開(kāi)始搜索 filename.h答:對(duì)于#include&l

19、t;filename.h>對(duì)于#include“filename.h”3、const 有什么用途?(請(qǐng)至少說(shuō)明兩種)(5 分)答:(1)可以定義 const 常量(2)const 可以修飾函數(shù)的參數(shù)、返回值,甚至函數(shù)的定義體。被 const 修飾的東西都受到強(qiáng)制保護(hù),可以預(yù)防意外的變動(dòng),能提高程序的健壯性。charstr = “Hello” ; char*p = str ;intn = 10;請(qǐng)計(jì)算sizeof (str ) = 6 (2 分) sizeof ( p ) = 4 (2 分) sizeof ( n ) = 4 (2 分)void Func ( char str100)請(qǐng)計(jì)算

20、sizeof( str ) =4(2 分)void *p = malloc( 100 );請(qǐng)計(jì)算sizeof ( p ) =4(2 分)請(qǐng)寫出 BOOLflag 與“零值”比較的 if 語(yǔ)句。(3 分)標(biāo)準(zhǔn): if ( flag ) if ( !flag )如下寫法均屬不良風(fēng)格,不得分。if (flag = TRUE) if (flag = 1 ) if (flag = FALSE) if (flag = 0)請(qǐng)寫出 floatx 與“零值”比較的 if 語(yǔ)句。(4 分)標(biāo)準(zhǔn) 示例:const float EPSINON = 0.00001;if (x >= - EPSINON) &am

21、p;& (x <= EPSINON)不可將浮點(diǎn)變量用“=”或“!=”與數(shù)字比較,應(yīng)該設(shè)法轉(zhuǎn)化成“>=”或“<=”此類形式。如下是錯(cuò)誤的寫法,不得分。if (x = 0.0) if (x != 0.0)請(qǐng)寫出 char*p 與“零值”比較的 if 語(yǔ)句。(3 分)標(biāo)準(zhǔn):if (p = NULL)if (p != NULL)如下寫法均屬不良風(fēng)格,不得分。if (p = 0) if (p != 0) if (p)if (!)4、在 C+ 程序中調(diào)用被 C 編譯器編譯后的函數(shù),為什么要加 extern “C”? (5 分)答:C+語(yǔ)言支持函數(shù)重載,C 語(yǔ)言不支持函數(shù)重載。函數(shù)

22、被 C+編譯后在庫(kù)中的名字與 C語(yǔ)言的不同。假設(shè)某個(gè)函數(shù)的原型為: void foo(int x, int y);該函數(shù)被 C 編譯器編譯后在庫(kù)中的名字為_(kāi)foo,而 C+編譯器則會(huì)產(chǎn)生像_foo_int_int之類的名字。C+提供了 C 連接交換指定符號(hào) extern“C”來(lái)解決名字匹配問(wèn)題。5、請(qǐng)簡(jiǎn)述以下兩個(gè) for 循環(huán)的優(yōu)缺點(diǎn)(5 分)四、有關(guān)內(nèi)存的思考題(每小題 5 分,共 20 分)void GetMemory(char *p)p = (char *)malloc(100);void Test(void)char *str = NULL; GetMemory(str); strcp

23、y(str, "hello world"); printf(str);請(qǐng)問(wèn)運(yùn)行 Test 函數(shù)會(huì)有什么樣的結(jié)果? 答:程序。因?yàn)?GetMemory 并不能傳遞動(dòng)態(tài)內(nèi)存, Test 函數(shù)中的 str 一直都是 NULL。strcpy(str, "hello world"); 將使程序崩潰。char *GetMemory(void)char p = "hello world" return p;void Test(void)char *str = NULL; str = GetMemory(); printf(str);請(qǐng)問(wèn)運(yùn)行 Tes

24、t 函數(shù)會(huì)有什么樣的結(jié)果? 答:可能是亂碼。因?yàn)?GetMemory 返回的是指向“棧內(nèi)存”的指針,該指針的地址不是 NULL,但其原現(xiàn)的內(nèi)容已經(jīng)被清除,新內(nèi)容不可知。void GetMemory2(char *p, int num)*p = (char *)malloc(num);void Test(void)char *str = (char *) malloc(100);for (i=0; i<N; i+)if (condition) DoSomething();elseDoOtherthing();if (condition)for (i=0; i<N; i+) DoSom

25、ething();elsefor (i=0; i<N; i+) DoOtherthing();優(yōu)點(diǎn):程序簡(jiǎn)潔缺點(diǎn):多執(zhí)行了 N-1 次邏輯 ,并且打斷了循環(huán)“流水線”作業(yè),使得編譯器不能對(duì)循環(huán)進(jìn)行優(yōu)化處理,降低了效率。優(yōu)點(diǎn):循環(huán)的效率高缺點(diǎn):程序不簡(jiǎn)潔五、編寫 strcpy 函數(shù)(10 分) 已知 strcpy 函數(shù)的原型是char *strcpy(char *strDest, const char *strSrc);其中 strDest 是目的字符串,strSrc 是源字符串。(1)不調(diào)用C+/C 的字符串庫(kù)函數(shù),請(qǐng)編寫函數(shù) strcpychar *strcpy(char *strDe

26、st, const char *strSrc);assert(strDest!=NULL) && (strSrc !=NULL);char *address = strDest;/2分2分2分!= 0 )while( (*strDest+ = * strSrc+) NULL ;return address ;/ 2分(2)strcpy 能把 strSrc 的內(nèi)容答:為了實(shí)現(xiàn)鏈?zhǔn)奖磉_(dá)式。到 strDest,為什么還要 char * 類型的返回值?/ 2 分例如int length = strlen( strcpy( strDest, “hello world”) );六、編寫類

27、String 的構(gòu)造函數(shù)、析構(gòu)函數(shù)和賦值函數(shù)(25 分) 已知類 String 的原型為:class Stringpublic:String(const char *str = NULL); String(const String &other); String(void);/普通構(gòu)造函數(shù)/ 拷貝構(gòu)造函數(shù)/ 析構(gòu)函數(shù)String & operateprivate:=(const String&other);/ 賦值函數(shù)char*m_data;/ 用于保存字符串;請(qǐng)編寫 String 的上述 4 個(gè)函數(shù)。標(biāo)準(zhǔn):/ String 的析構(gòu)函數(shù)void Test(void)char *str = NULL; GetMemory(&str, 100); strcpy(str, "hello"); printf(str);請(qǐng)問(wèn)運(yùn)行 Test 函數(shù)會(huì)有什么樣的結(jié)果? 答:(1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論