init標(biāo)示符在gcc編譯器中指定將該函數(shù)置于內(nèi)核的特定區(qū)域。在內(nèi)核完成自身
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括任丘網(wǎng)站建設(shè)、任丘網(wǎng)站制作、任丘網(wǎng)頁(yè)制作以及任丘網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,任丘網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到任丘省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
初始化之后,就試圖釋放這個(gè)特定區(qū)域。實(shí)際上,內(nèi)核中存在兩個(gè)這樣的區(qū)域,
.text.init和.data.init—第一個(gè)是代碼初始化使用的,另外一個(gè)是數(shù)據(jù)初始化使用的(
可以在進(jìn)程間共享的代碼和字符串常量之類的“文本(Text)”是在可執(zhí)行程序中的“純
區(qū)域”中使用的一個(gè)術(shù)語(yǔ))。另外你也可以看到__initfunc和__initdata標(biāo)志,前者和
__init類似,標(biāo)志初始化專用代碼,后者則標(biāo)志初始化專用數(shù)據(jù)。
兄弟,大概看了一下,能看出你應(yīng)該是個(gè)新手,有一定基礎(chǔ),但也有很多問(wèn)題。你的代碼是否實(shí)現(xiàn)了功能我沒(méi)仔細(xì)看,但是問(wèn)題我還是說(shuō)一下:
1.編程風(fēng)格。編程的風(fēng)格有很多種,但是至少要遵循一些基本原則:
a.書寫工整,每句一行;
b.盡管程序小,但是函數(shù)和變量命名仍然要遵循匈牙利規(guī)則,這個(gè)很重要;
c.正確使用縮進(jìn);
d.if、for、switch、case等語(yǔ)句也要每句一行,每個(gè)分支都用括號(hào)括起,哪怕只有一句;
2.字符串操作錯(cuò)誤,字符串不能直接復(fù)制,需要用str_cpy等函數(shù)copy,建議多看看相關(guān)知識(shí),其實(shí)并不復(fù)雜。
3.對(duì)于全局變量的把握,從你這個(gè)功能來(lái)講,其實(shí)沒(méi)有必要象你這樣定義全局變量,不僅浪費(fèi),而且限制了數(shù)據(jù)的數(shù)量。
4.所有的函數(shù)都沒(méi)有參數(shù)和返回值(其實(shí)這個(gè)和你用全局變量的方法有一定關(guān)系),建議重寫。
5.良好的初值習(xí)慣。每定義一個(gè)變量都要賦初值,定義變量每行只定義一個(gè)。
6.case 3:void srt();break; 這種函數(shù)的調(diào)用沒(méi)必要也不能加void,具體你去看書
大概說(shuō)了一點(diǎn),時(shí)間有限。更多的需要你自己去看,去調(diào)試,你這個(gè)代碼一定編譯不過(guò),寫的時(shí)候至少要先編譯通過(guò),如果不是自己需要的結(jié)果再跟蹤調(diào)試一下。
read內(nèi)部是調(diào)_read, _read的返回值在msdn中有這樣的描述
_read returns the number of bytes read, which might be less than count if there are fewer than count bytes left in the file or if the file was opened in text mode, in which case each carriage return–line feed (CR-LF) pair is replaced with a single linefeed character. Only the single linefeed character is counted in the return value. The replacement does not affect the file pointer.
注意這一段: in which case each carriage return–line feed (CR-LF) pair is replaced with a single linefeed character
就是說(shuō)如果用text模式打開的話, 文件換行時(shí)可能在文本中有2個(gè)字符----換行和縮進(jìn)(CR-LF), 而在return的時(shí)候系統(tǒng)是把它作為1個(gè)回車符號(hào)('\n')所返回的. 所以會(huì)導(dǎo)致這個(gè)情況
先申明,在使用,C函數(shù)都是這種的,mian函數(shù)前面申明下子函數(shù)就行了。~
實(shí)現(xiàn)病歷查詢功能的代碼如下:
#define?_CRT_SECURE_NO_WARNINGS
#include?stdio.h
#include?string.h
#include?stdlib.h
//病人結(jié)構(gòu)體
struct?patient
{
char?patientNum[20]; //病例號(hào)
char?patientName[20]; //病人姓名
char?patientInfo[20]; //病例
}myPatient[5]?=?{"","",""};
//輸入函數(shù)
void?readin(patient?*p)//輸入
{
printf("請(qǐng)輸入5個(gè)病人的:病號(hào),姓名,病例:\n");
for?(int?i?=?0;?i??5;?i++)
{
printf("請(qǐng)輸入第%d位病人信息:\n",?i?+?1);
scanf("%s%s%s",?p[i].patientNum,?p[i].patientName,?p[i].patientInfo);
}
}
//查詢函數(shù)
void?search(patient?*p,?char?*x)
{
int?i;
for?(?i=?0;?i??5;?i++)
{
if?(strcmp(x,?p[i].patientName)?==?0)
break;
}
if?(i?==?5)
printf("查無(wú)此人\n");
else
{
printf("病號(hào)\t\t姓名\t\t病例\n");
printf("%s\t\t%s\t\t%s",?p[i].patientNum,?p[i].patientName,?p[i].patientInfo);
}
}
//點(diǎn)我頭像,入群.
int?main()
{
readin(myPatient);
char?searchName[20];
while?(1)
{
printf("請(qǐng)輸入要查詢的病人姓名:\n");
scanf("%s",?searchName);
search(myPatient,?searchName);
printf("是否繼續(xù)查詢?(y/n)\n");
fflush(stdin);
int?choice?=?getchar();
if?(choice?==?'n'?||?choice?==?'N')
break;
}
return?0;
}
運(yùn)行效果如下:
文章名稱:c語(yǔ)言readin函數(shù) c語(yǔ)言中read的用法
文章分享:http://jinyejixie.com/article24/dodhije.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、動(dòng)態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站改版、全網(wǎng)營(yíng)銷推廣、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容