a為函數(shù)執(zhí)行次數(shù)+2
目前成都創(chuàng)新互聯(lián)公司已為上1000家的企業(yè)提供了網站建設、域名、網絡空間、綿陽服務器托管、企業(yè)網站設計、鹽山網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
因為c為靜態(tài)變量,會保存上次函數(shù)執(zhí)行后的值,所以第一次執(zhí)行c=3,第二次執(zhí)行c=4,第三次c=5...
這是C語言中的指令。
是無條件跳轉到指定的標號位置開始執(zhí)行程序。
這個指令用起來要慎重,它容易讓你的程序變得可讀性比較差,日后維護和調試都不方便。
但是有時用一下會顯得十分方便。
曾經有建議可以使用大量的這樣的語句來對程序驚醒反編譯的加密。
舉個例子:
//二分查找法//
#
include
void
main()
{
int
a[16],i,num,flag=0,top,bottom,mid;
//定義一個一維數(shù)組a[16]用來存放供查找用的數(shù)據,但只用a[1]——a[15]//
//num用來放要查找的數(shù)據,flag是表示是否找到的開關變量,top表示查找的起始位置,bottom表示查找的終止位置,mid表示top與bottom的中間位置//
char
goon;
//變量goon為'y'或'Y'時表示繼續(xù)下一輪查找,否則終止程序//
printf("請輸入第1個數(shù)字:\n");
scanf("
%d",a[1]);
//依次輸入第二到第十五個數(shù),并要求輸入的數(shù)遞減//
for(i=2;i=15;i++)
{
printf("請輸入第%d個數(shù)字:\n",i);
scanf("
%d",a[i]);
if(a[i]=a[i-1])
{
printf("請再次輸入,它應該比上一個數(shù)?。篭n");
scanf("
%d",a[i]);
}
}
//輸出剛才輸入的數(shù)//
printf("你剛才輸入的數(shù)是:\n");
for(i=1;i=15;i++)
printf("
%d",a[i]);
printf("\n");
//查找循環(huán)開始//
do
{
printf("現(xiàn)在請輸入你要查找的數(shù):\n");//輸入想要查找的數(shù)//
scanf("
%d",num);
top=15;
bottom=1;
mid=15/2+1;
if(numa[1]
||
num
0)//如果在規(guī)定的范圍內,開始二分法查找//
{
if(num==a[mid])//找到所需數(shù)據,退出本層循環(huán)//
{
printf("你所要查找的數(shù)字是第%d個。\n",mid);
flag=1;
}
else
if(numa[mid])//如果要查找的數(shù)據比a[mid]大,在前半數(shù)組查找//
{
top=mid+1;
mid=(top+bottom)/2;
}
else
//如果要查找的數(shù)據比a[mid]小,在后半數(shù)組查找//
{
bottom=mid-1;
mid=(top+bottom)/2;
}
}
if(flag==0)//如果未找到數(shù)據,輸出找不到的信息//
printf("無法找到你要找的數(shù)字!\n");
printf("是否繼續(xù)查找?(Y/N):\n");//詢問是否開始下一輪查找//
scanf("
%c",goon);
}while(goon=='y'
||
goon=='Y');
}