#include?"stdio.h"
創(chuàng)新互聯(lián)建站是一家專業(yè)提供三河企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計、小程序制作等業(yè)務(wù)。10年已為三河眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
int?main(int?argv,char?*argc[]){
FILE?*fp;
char?s[1000],ch;
if((fp=fopen("data.txt","r"))==NULL){
printf("Open?the?file?failure...\n");
return?0;
}
fseek(fp,0L,SEEK_END);
fseek(fp,-3L,SEEK_CUR);
while(fgetc(fp)!='\n')
fseek(fp,-2L,SEEK_CUR);//到這里,fp指向的文件讀指針已經(jīng)移到最后一行的開頭
printf("%s\n",fgets(s,1000,fp));//這一行只是打出來驗證一下,按題意并不需要
fclose(fp);
return?0;
}
1,正??紤]應(yīng)用循環(huán)for或while什么的。
2,也可以使用goto語句,在函數(shù)開頭設(shè)置標簽,在函數(shù)尾部用goto跳到這個標簽處執(zhí)行。
3,歪門邪道,考慮遞歸函數(shù)(小心走火入魔)
不知道LZ到底想要干什么。
如果沒有函數(shù)調(diào)用,函數(shù)是不會執(zhí)行的。
如果按照LZ的一直跳回,那g()的后半部分永遠都不會執(zhí)行,那后半部分有什么用呢?
f()
{
//...
g();//在f()的最后面調(diào)用g,保證f執(zhí)行之后,g會跟著執(zhí)行
}
g()
{
//...
f();//在g執(zhí)行到一半的時候,跳到f();
//...
}
main()
{
f();
}
小坷仔。用cprintf("\n\r")就可以換行了,換到開頭。知不知道我是誰
A函數(shù)的源碼可控嗎?如果可控,把對B函數(shù)的調(diào)用改成對新實現(xiàn)的調(diào)用就行了。
如果A函數(shù)不是自己寫的(源碼不可控),會麻煩一些。例如,在支持指針的語言上,可以修改B函數(shù)入口部分的匯編代碼,jmp到自己的新實現(xiàn)。要求B函數(shù)和你的實現(xiàn)原型必須完全相同。