freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第16章常見錯誤和程序調(diào)試-全文預(yù)覽

2024-10-18 19:05 上一頁面

下一頁面
  

【正文】 in函數(shù)中輸出已對換了值的 a和 b。 } swap(int x, int y) { int t。 a=3。 printf(%f\n,z )。} main() { float x, y,z 。 z =max(x, y)。改錯的方法可以用以下二者之一: ① 在 main函數(shù)中增加一個對 max函數(shù)的聲明,即函數(shù)的原型: main( ) { float max(float, float)。 printf(%f\n,z )。 main( ) { float x, y,z 。 { int z 。如: max(x, y) int x, y,z 。 p的原值指向數(shù)組 a的第 0個元素 a[0],因此 *p就是第 0個元素 a[0]的值 1。 p=a。M39。 char sex。 case 2: print(Fail! )。 case 4: printf(Good! )。但當(dāng) score的值為 5時,輸出為 V ery Good! Good! Pass! Fail! data error! 原因是漏寫了 break語句。 case 3: printf(Pass! )。再執(zhí)行 scanf函數(shù)就沒有問題了,把從鍵盤輸入的字符串存放到字符數(shù)組 c中。應(yīng)當(dāng)改為 char *p, c[20]。 (17) 在引用指針變量之前沒有對它賦予確定的值。”改成“ char str。 str是數(shù)組名,代表數(shù)組首地址。 main( ) { char str[4]。 printf(%d%d%d%d\n, a)。而 a[4]是 a數(shù)組的第 4行的首地址。 … } 對二維數(shù)組和多維數(shù)組在定義和引用時必須將每一維的數(shù)據(jù)分別用方括弧括起來。數(shù)組只包括 a[0]到 a[9]10個元素,因此用 a[10]就超出 a數(shù)組的范圍了。i++) printf(%d, a[i])。 main( ) { int a[10]={ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 。i++) scanf(%d, amp。 (12) 引用數(shù)組元素時誤用了圓括弧。 C=A+B。 (11) 在用標(biāo)識符時,忘記了大寫字母和小寫字母的區(qū)別。如: while((c=getchar( )! =39。應(yīng)改為 while(i< =100) { sum=sum+i。錯誤在于沒有寫成復(fù)合語句形式。 i++。 (9) 對應(yīng)該有花括弧的復(fù)合語句,忘記加花括弧。 } 本意為先后輸入 10個數(shù),每輸入一個數(shù)后輸出它的平方值。i++)。本來想 a≤b時不輸出上述信息,但現(xiàn)在 printf函數(shù)語句并不從屬于 if語句,而是與 if語句平行的語句。 printf(a is larger than b\n)。 a=b。有的初學(xué)者往往忘記寫這一分號。 (7) 語句后面漏分號。而現(xiàn)在先將 b的值賦給 a, a也為 4,賦值表達(dá)式的值為 4。如果寫成 if(a=b) printf(a equal to b)。b)。如果想在屏幕上得到所需的提示信息,可以另加一個 printf函數(shù)語句: printf(input a amp。b)。因此,應(yīng)按以下方法輸入: 3, 4 此時如果用“ 34”反而錯了。應(yīng)該用以下方法輸入: 3 4 如果 scanf函數(shù)為 scanf(%d, %d, amp。 有人按下面的方法輸入數(shù)據(jù): 3, 4 這是錯的。 用 scanf函數(shù)輸入數(shù)據(jù),應(yīng)注意如何組織輸入數(shù)據(jù)。應(yīng)寫成 scanf(%d%d, amp。 請注意,如果只定義 num為 long型,而在輸出時仍用“ %d”說明符,仍會出現(xiàn)以上錯誤。因?yàn)?196607的二進(jìn)制形式為 00 00 00 00 00 00 00 1011 11 11 11 11 11 11 11 去掉高位 10,低 16位的值是 1(1的補(bǔ)碼是:1111111111111111)。8910165536=23565。兩個字節(jié)容納不下 89101,則將高位截去。常見這樣的程序段: int num。 編譯時不給出出錯信息,但運(yùn)行結(jié)果將與原意不符,輸出為 0. 000000 16402 它們并不是按照賦值的規(guī)則進(jìn)行轉(zhuǎn)換 (如把 4. 5轉(zhuǎn)換成 4),而是將數(shù)據(jù)在存儲單元中的形式按格式符的要求組織輸出 (如 b占 4個字節(jié),只把最后兩個字節(jié)中的數(shù)據(jù)按 %d,作為整數(shù)輸出 )。 例如,若 a已定義為整型, b已定義為實(shí)型。這是學(xué)過 BASIC和 FORTRAN語言的讀者寫 C程序時常見的一個錯誤。 y=6。 常見錯誤分析 下面將初學(xué)者在學(xué)習(xí)和使用 C語言 (不包括 C++)時容易犯的錯誤列舉出來,以起提醒的作用。因此,往往要由程序設(shè)計者自己設(shè)法保證程序的正確性。C編譯程序?qū)φZ法的檢查不如其他高級語言那樣嚴(yán)格 (這是為了給程序人員留下“靈活”的余地 )。 C語言有些語法規(guī)定和其他高級語言不同,學(xué)習(xí)過其他高級語言的讀者往往按照使用其他高級語言的習(xí)慣來寫 C程序,這也是出錯的一個原因。如: main( ) { x=3。應(yīng)在函數(shù)體的開頭加 int x, y。 (2) 輸入輸出的數(shù)據(jù)的類型與所用格式說明符不一致。 printf(%f %d\n, a, b)。因此一個整數(shù)的范圍為 215~ 2151,即 32768~32767。 得到的卻是 23565,原因是 89101已超過 32767。即將 89101減去 216(即 16位二進(jìn)制所形成的模 )。 輸出得 1。 printf(%ld, num)。 這是許多初學(xué)者剛學(xué)習(xí) C語言時一個常見的疏忽,或者說是習(xí)慣性的錯誤,因?yàn)樵谄渌Z言中在輸入時只需寫出變量名即可,而 C語言要求指明“向哪個地址標(biāo)識的單元送值”。 (5) 輸入時數(shù)據(jù)的組織與要求不符。b)。 來驗(yàn)證一下。 對 scanf函數(shù)中格式字符串中除了格式說明符外,對其他字符必須按原樣輸入。a, amp。這是由于有的讀者以為 scanf具有 BASIC語言中的 INPUT語句的功能 (先輸出一個字符串,再輸入變量的值 )。a, amp。例如,在 BASIC或 PASCAL程序中都可以寫 if(a=b) the
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1