筆試實(shí)例:用函數(shù)實(shí)現(xiàn)將n個數(shù)按輸入順序的逆序排列
解: main()
{ int i,n;
char *p,num[20];
printf(“input n:”);
scanf(“%d”,&n);
printf(“Please input these number:\n”);
for(i=0,i scanf(“%d”,&num[i]);
p=&num[0];
sort(p,n);
printf(“Now, the sequence is:\n”);
for(i=0;i printf(“%d ”,num[i]);
}
sort(char p,int m)
{int i;
char temp,*p1,*p2;
for(i=0;i {p1=p+i;
p2=p1+(m-1-i);
temp=*p1;
*p1=*p2;
*p2=temp;
}
}
拓展:宏替換發(fā)生的時機(jī)
為了能夠真正理解#define的作用,讓我們來了解一下對C語言源程序的處理過程。當(dāng)我們在一個集成的開發(fā)環(huán)境如Turbo C中將編寫好的'源程序進(jìn)行編譯時,實(shí)際經(jīng)過了預(yù)處理、編譯、匯編和連接幾個過程。其中預(yù)處理器產(chǎn)生編譯器的輸出,它實(shí)現(xiàn)以下的功能:
(1)文件包含
可以把源程序中的#include 擴(kuò)展為文件正文,即把包含的.h文件找到并展開到#include 所在處。
(2)條件編譯
預(yù)處理器根據(jù)#if和#ifdef等編譯命令及其后的條件,將源程序中的某部分包含進(jìn)來或排除在外,通常把排除在外的語句轉(zhuǎn)換成空行。
(3)宏展開
預(yù)處理器將源程序文件中出現(xiàn)的對宏的引用展開成相應(yīng)的宏 定義,即本文所說的#define的功能,由預(yù)處理器來完成。
經(jīng)過預(yù)處理器處理的源程序與之前的源程序有所有不同,在這個階段所進(jìn)行的工作只是純粹的替換與展開,沒有任何計算功能,所以在學(xué)習(xí)#define命令時只要能真正理解這一點(diǎn),這樣才不會對此命令引起誤解并誤用。
【筆試實(shí)例:用函數(shù)實(shí)現(xiàn)將n個數(shù)按輸入順序的逆序排列】相關(guān)文章:
淺析php函數(shù)的實(shí)例11-18
編寫一個程序:輸入N,打印N*N矩陣11-22
JavaScript匿名函數(shù)實(shí)例分析11-15
如何設(shè)置按照時間順序來排列文件10-11
由宏定義來實(shí)現(xiàn)求兩個數(shù)的乘積和商數(shù)之筆試實(shí)例12-14
公文寫作中的文章結(jié)構(gòu)順序排列技巧10-10
英語句子中句子成分的排列順序11-14
C++筆試實(shí)例分析11-22