因為的優(yōu)先級比?高。所以yHASHSIZE_Y會是(y(MAX_VTX_NUM = 200)) ? ...后面的表達式都是0,所以無線循環(huán)。可以在HASHSIZE_Y的外面再套一個()。
創(chuàng)新互聯(lián)建站是一家專注于成都做網(wǎng)站、成都網(wǎng)站制作與策劃設(shè)計,安遠網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:安遠等地區(qū)。安遠做網(wǎng)站價格咨詢:028-86922220
原因如下:C程序編譯的時候,先進行預(yù)處理,所以:printf(%d, M++)經(jīng)過預(yù)處理器處理后,就變成了:printf(%d, 10++) 而10是一個字面常量,是無法進行自增操作的,這屬于語法錯誤了。
這樣定義是對的,因為宏定義本來就是預(yù)編譯階段完成的替換,在語義不會產(chǎn)生分歧的情況下就不需要加{}。
宏定義只能取整體代換,代換后為printf(%s,yes!),而yes!也是沒有內(nèi)容的。
1、c語言中主函數(shù)中定義的變量只能在主函數(shù)中使用,所以你還得再定義一個變量。當然,捏可以把主函數(shù)中定義的這個變量傳遞給被調(diào)用的函數(shù)作為參數(shù)。
2、函數(shù)里可以使用宏,但一般寫程序都放在前面。如果放在函數(shù)里則宏的作用域較小,在定義宏之前不能使用該宏,而且改變該宏的值時不容易找到。
3、宏定義有些可以寫在函數(shù)體內(nèi)。包含文件不行。只能寫在文件頭。
4、它的意思就是在主函數(shù)中若 x=2,y=3,則a(x,y)=6,因為它宏定義了a(x,y)=x*y。
5、可以放在main()函數(shù)后面,需要在mian()函數(shù)前面做個函數(shù)申明。在一個源文件中定義函數(shù)且在另一個文件中調(diào)用函數(shù)時,函數(shù)聲明是必需的。在這種情況下,應(yīng)該在調(diào)用函數(shù)的文件頂部聲明函數(shù)。
1、你認為是0的原因估計是因為return 0;這一句吧。因為你的是int main()決定了函數(shù)必須要返回一個整形的值,如果沒有return 0,編譯是通不過的。運行結(jié)果是1是沒錯的。
2、程序設(shè)計語言的預(yù)處理的概念:在編譯之前進行的處理。 C語言的預(yù)處理主要有三個方面的內(nèi)容: 宏定義; 文件包含; 條件編譯。 預(yù)處理命令以符號“#”開頭。宏定義又稱為宏代換、宏替換,簡稱“宏”。
3、struct Point p;從書寫方便角度來說,當然是前一種更舒服些。因為C語言規(guī)定定義結(jié)構(gòu)體變量時,需要同時寫struct關(guān)鍵字,而用typedef重新定義就可以省去struct了。
1、當出于某些原因需要對數(shù)據(jù)做出修改,只要修改宏定義就行了,而不必在整個源文件中修改。而至于某些人說的可以加快CPU處理速度、宏運行的速度更快,我并不認同。
2、可以把宏理解成拼字游戲,它功能很強大,但是強大到使用不好就會有副作用。C++有很多語言設(shè)施用來完全特定功能的宏,如const,inline,template,就是為了讓大家少用宏。
3、不同。雖然功能近似,但函數(shù)會產(chǎn)生獨立代碼,每次調(diào)用執(zhí)行的是同一個位置的代碼,無論調(diào)用多少次。
4、c語言中主函數(shù)中定義的變量只能在主函數(shù)中使用,所以你還得再定義一個變量。當然,捏可以把主函數(shù)中定義的這個變量傳遞給被調(diào)用的函數(shù)作為參數(shù)。
5、當然可以,宏定義是預(yù)處理的。在什么地方寫都可以。編譯器只是把宏定義的作替換。定義好的宏,在真正編譯的時候被所定義的塊給替換了。
1、表示連接符, STRUCT(type)相當于struct_tag_type。 如果#define時直接寫作為type則能做為參數(shù)使用。
2、define a的形式只是定義了宏名a,可以認為a只是一個標志,可配合#ifdef或#ifndef進行條件編譯等操作。define a 0的形式是定義宏名a代表值0,編譯之前代碼中遇到單獨的宏名a就會進行替換展開。
3、事實上,在一些C的庫函數(shù)中也有這些問題。例如: Toupper(*pChar++)就會對pChar執(zhí)行兩次++操作,因為Toupper實際上也是一個宏。
當前題目:c語言宏定義在函數(shù)中無效 c語言宏定義函數(shù)運算
網(wǎng)頁URL:http://chinadenli.net/article29/deheijh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、外貿(mào)建站、、品牌網(wǎng)站建設(shè)、微信小程序、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)