• <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é)尾標(biāo)志,導(dǎo)致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ù)成為不可重入(即不可預(yù)測結(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 閱讀(794) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            亚洲国产另类久久久精品黑人 | 伊人久久大香线蕉综合Av| 久久久精品人妻无码专区不卡 | 老色鬼久久亚洲AV综合| 无码人妻精品一区二区三区久久久 | 色综合久久综精品| 久久无码一区二区三区少妇| 久久久久国产精品人妻| 国产成人久久精品区一区二区| 青青草国产成人久久91网| 日批日出水久久亚洲精品tv| 精品久久久久久国产| 久久国产香蕉一区精品| 久久精品国产日本波多野结衣| 日本免费久久久久久久网站| 久久久久久久久66精品片| 亚洲AV日韩精品久久久久久| 伊人色综合久久天天| 久久九九久精品国产免费直播| 99久久免费国产精品| 无码国产69精品久久久久网站| 狠狠色丁香婷婷综合久久来来去| 久久久精品国产| 国内精品久久久久久久影视麻豆 | 欧洲人妻丰满av无码久久不卡| 久久久久国产成人精品亚洲午夜| 99久久这里只有精品| 亚洲精品乱码久久久久久蜜桃图片 | 精品久久久中文字幕人妻| 日本国产精品久久| 久久精品国产一区二区三区不卡| 99久久国产亚洲高清观看2024 | 中文无码久久精品| 亚洲欧美日韩精品久久亚洲区 | 久久久久久久精品妇女99| 国产99久久久国产精免费| 久久线看观看精品香蕉国产| 久久久精品国产sm调教网站| 久久国产欧美日韩精品| 99国产欧美精品久久久蜜芽| 亚洲国产精品婷婷久久|