• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            HUUYUU

            華為另外筆試題

            1. 找錯

            void test1()
            {
            ??? char string[10];
            ??? char* str1="0123456789";
            ??? strcpy(string, str1);
            }

            答:表面上并且編譯都不會錯誤。但如果string數(shù)組原意表示的是字符串的話,那這個賦值就沒有達到意圖。最好定義為char string[11],這樣最后一個元素可以存儲字符串結(jié)尾符'\0';


            void test2()
            {
            ??? char string[10], str1[10];
            ? for(int I=0; I<10;I++)
            ? {
            ??? str1[I] ='a';
            ? }
            ? strcpy(string, str1);
            }

            答:strcpy使用錯誤,strcpy只有遇到字符串末尾的'\0'才會結(jié)束,而str1并沒有結(jié)尾標志,導致strcpy函數(shù)越界訪問,不妨讓str1[9]='\0',這樣就正常了。


            void test3(char* str1)
            {
            ??? char string[10];
            ??? if(strlen(str1)<=10)
            {
            ??? strcpy(string, str1);
            }
            }

            答:這又會出現(xiàn)第一道改錯題的錯誤了。strlen(str1)算出來的值是不包含結(jié)尾符'\0'的,如果str1剛好為10個字符+1結(jié)尾符,string就得不到結(jié)尾符了。可將strlen(str1)<=10改為strlen(str1)<10。

            2. 找錯

            #define MAX_SRM 256

            DSN get_SRM_no()
            {
            ??? static int SRM_no;
            ??? int I;
            ??? for(I=0;I<MAX_SRM;I++,SRM_no++)
            ? {
            ??? SRM_no %= MAX_SRM;
            ??? if(MY_SRM.state==IDLE)
            ??? {
            ????? break;
            ??? }
            ? }
            ? if(I>=MAX_SRM)
            ??? return (NULL_SRM);
            ? else
            ??? return SRM_no;
            }

            答:我不知道這段代碼的具體功能,但明顯有兩個錯誤
            1,SRM_no沒有賦初值
            2,由于static的聲明,使該函數(shù)成為不可重入(即不可預測結(jié)果)函數(shù),因為SRM_no變量放在程序的全局存儲區(qū)中,每次調(diào)用的時候還可以保持原來的賦值。這里應(yīng)該去掉static聲明。

            3. 寫出程序運行結(jié)果

            int sum(int a)
            {
            ??? auto int c=0;
            ??? static int b=3;
            ? c+=1;
            ? b+=2;
            ? return(a+b+c);
            }
            ?void main()
            {
            ??? int I;
            ? int a=2;
            ? for(I=0;I<5;I++)
            ? {
            ??? printf("%d,", sum(a));
            ? }
            }

            答:8,10,12,14,16
            該題比較簡單。只要注意b聲明為static靜態(tài)全局變量,其值在下次調(diào)用時是可以保持住原來的賦值的就可以。
            ----------------------------------------------
            插播廣告啦:版權(quán)所有:朱科 歡迎光臨我的網(wǎng)站:www.goodsoft.cn,各位轉(zhuǎn)貼別刪,勞動成果啊
            ----------------------------------------------
            4.

            int func(int a)
            {
            ??? int b;
            ??? switch(a)
            ??? {
            ??????? case 1: b=30;
            ??????? case 2: b=20;
            ??????? case 3: b=16;
            ??????? default: b=0;
            ?? }
            ?? return b;
            }

            則func(1)=?
            答:func(1)=0,因為沒有break語句,switch中會一直計算到b=0。這是提醒我們不要忘了break。呵呵。

            5:

            ? int a[3];
            ? a[0]=0; a[1]=1; a[2]=2;
            ? int *p, *q;
            ? p=a;
            ? q=&a[2];

            則a[q-p]=?
            答:a[q-p]=a[2]=2;這題是要告訴我們指針的運算特點

            6.
            定義 int **a[3][4], 則變量占有的內(nèi)存空間為:_____
            答:此處定義的是指向指針的指針數(shù)組,對于32位系統(tǒng),指針占內(nèi)存空間4字節(jié),因此總空間為3×4×4=48。

            7.
            編寫一個函數(shù),要求輸入年月日時分秒,輸出該年月日時分秒的下一秒。如輸入2004年12月31日23時59分59秒,則輸出2005年1月1日0時0分0秒。
            答:

            /*輸入年月日時分秒,輸出年月日時分秒的下一秒,輸出仍然在原內(nèi)存空間*/
            void NextMinute(int *nYear,int *nMonth,int *nDate,int *nHour,int *nMinute,int *nSecond)
            {
            ? int nDays;
            ? (*nSecond)++;? // 秒加1
            ? if(*nSecond>=60)? // 秒滿60,做出特殊處理,下面時,日,月等類同
            ? {
            ??? *nSecond=0;
            ??? (*nMinute)++;
            ??? if(*nMinute>=60)
            ??? {
            ????? *nMinute=0;
            ????? (*nHour)++;
            ????? if(*nHour>=24)
            ????? {
            ??????? *nHour=0;
            ??????? (*nDate)++;
            ??????? switch(*nMonth)
            ??????? {
            ????????? case 1:
            ????????? case 3:
            ????????? case 5:
            ????????? case 7:
            ????????? case 8:
            ????????? case 10:
            ????????? case 12:
            ??????????? nDays=31;
            ????????? break;
            ????????? case 2:// 判斷閏年
            ??????????? if(*nYear%400==0||*nYear%100!=0&&*nYear%4==0)
            ??????????? {
            ??????????? nDays=29;
            ??????????? }
            ??????????? else
            ??????????? {
            ??????????? nDays=28;
            ??????????? }
            ????????? break;
            ????????? default:
            ??????????? nDays=30;
            ????????? break;
            ??????? }
            ??????? if(*nDate>nDays)
            ??????? {
            ????????? *nDate=1;
            ????????? (*nMonth)++;
            ????????? if(*nMonth>12)
            ????????? {
            ????????? *nMonth=1;
            ????????? (*nYear)++;
            ????????? }
            ??????? }
            ????? }
            ??? }
            ? }
            }
            /*示例可運行代碼*/
            void main()
            {
            ? int nYear=2004,nMonth=12,nDate=31,nHour=59,nMinute=59,nSecond=59;
            ? NextMinute(&nYear,&nMonth,&nDate,&nHour,&nMinute,&nSecond);
            ? printf("The result:%d-%d-%d %d:%d:%d",nYear,nMonth,nDate,nHour,nMinute,nSecond);
            }

            posted on 2006-07-28 15:46 HUYU 閱讀(795) 評論(0)  編輯 收藏 引用

            久久99热这里只有精品66| 久久精品无码一区二区三区日韩 | 亚洲国产高清精品线久久| 国产午夜精品久久久久九九| 人妻中文久久久久| 欧美噜噜久久久XXX| 99热成人精品免费久久| 精品国产日韩久久亚洲| 日本免费一区二区久久人人澡| 91精品无码久久久久久五月天| 精品国产青草久久久久福利| 一本色道久久88—综合亚洲精品| 伊人热人久久中文字幕| 久久久久亚洲AV成人网人人网站| 精品精品国产自在久久高清| 一本大道久久东京热无码AV | 亚洲精品97久久中文字幕无码| 人妻无码中文久久久久专区| 久久99精品久久久久久不卡| 久久久久久久久久久| 国产精品久久久99| 久久国产色AV免费观看| 久久久这里有精品| 精品人妻伦一二三区久久| 久久国产精品成人免费| 久久Av无码精品人妻系列| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 国产成人精品久久一区二区三区av | 伊人久久综合精品无码AV专区| 久久精品无码一区二区日韩AV | 久久精品国产男包| 久久久久国色AV免费观看| 久久精品国产一区| 国产精品久久一区二区三区 | 国产精品美女久久久网AV| 97久久久精品综合88久久| 久久大香香蕉国产| 99久久无码一区人妻a黑| 激情伊人五月天久久综合| 无码人妻精品一区二区三区久久 | 色欲综合久久躁天天躁|