• <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數組原意表示的是字符串的話,那這個賦值就沒有達到意圖。最好定義為char string[11],這樣最后一個元素可以存儲字符串結尾符'\0';


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

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


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

            答:這又會出現第一道改錯題的錯誤了。strlen(str1)算出來的值是不包含結尾符'\0'的,如果str1剛好為10個字符+1結尾符,string就得不到結尾符了。可將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的聲明,使該函數成為不可重入(即不可預測結果)函數,因為SRM_no變量放在程序的全局存儲區中,每次調用的時候還可以保持原來的賦值。這里應該去掉static聲明。

            3. 寫出程序運行結果

            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靜態全局變量,其值在下次調用時是可以保持住原來的賦值的就可以。
            ----------------------------------------------
            插播廣告啦:版權所有:朱科 歡迎光臨我的網站:www.goodsoft.cn,各位轉貼別刪,勞動成果啊
            ----------------------------------------------
            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], 則變量占有的內存空間為:_____
            答:此處定義的是指向指針的指針數組,對于32位系統,指針占內存空間4字節,因此總空間為3×4×4=48。

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

            /*輸入年月日時分秒,輸出年月日時分秒的下一秒,輸出仍然在原內存空間*/
            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)  編輯 收藏 引用

            亚洲欧美久久久久9999| 久久精品国产精品亜洲毛片| 久久精品日日躁夜夜躁欧美| 国产精品久久婷婷六月丁香| 久久香蕉超碰97国产精品| 久久综合综合久久97色| 亚洲综合久久久| 99久久超碰中文字幕伊人| 久久99精品国产麻豆婷婷| 亚洲中文字幕无码久久2017| 丁香五月网久久综合| 一本综合久久国产二区| 69久久夜色精品国产69| 久久婷婷五月综合成人D啪| 成人综合伊人五月婷久久| 久久久WWW成人免费精品| 99久久人妻无码精品系列| 四虎亚洲国产成人久久精品| 国产V亚洲V天堂无码久久久| 久久丫忘忧草产品| 久久精品二区| 94久久国产乱子伦精品免费| 色欲久久久天天天综合网精品| 久久中文字幕视频、最近更新| 国产精品久久久久影院嫩草| 99久久免费国产精品特黄| 久久国产综合精品五月天| 久久久久久久尹人综合网亚洲| 久久综合狠狠综合久久综合88| 国产精品美女久久福利网站| 久久精品无码一区二区三区日韩| 77777亚洲午夜久久多喷| 亚洲精品美女久久久久99| 亚洲中文字幕伊人久久无码| 国产成人精品久久综合| 国产精品久久自在自线观看| 久久精品中文闷骚内射| 久久婷婷五月综合97色| 久久夜色精品国产噜噜噜亚洲AV| 伊人久久久AV老熟妇色| 一本一本久久a久久综合精品蜜桃|