• <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 閱讀(795) 評論(0)  編輯 收藏 引用

            精品久久久久久亚洲精品| 国产精品美女久久久久网| 亚洲乱码日产精品a级毛片久久| 久久夜色精品国产亚洲| 青青热久久国产久精品| 久久精品国产亚洲AV久| 国产精品一区二区久久| 久久久久久亚洲精品影院| 久久婷婷五月综合97色| 久久婷婷五月综合色99啪ak| 香蕉久久av一区二区三区| 国产国产成人久久精品| 蜜臀av性久久久久蜜臀aⅴ| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 国产成人精品久久| 午夜视频久久久久一区| 99久久精品费精品国产一区二区| 91久久婷婷国产综合精品青草| 久久99精品国产麻豆蜜芽| 精品一久久香蕉国产线看播放| 久久精品国产色蜜蜜麻豆| 国产99久久九九精品无码| 久久综合狠狠综合久久综合88 | 久久国产精品成人片免费| 久久夜色精品国产亚洲av| 一本色道久久88加勒比—综合| 国产成人久久精品激情| 国产精品久久久久免费a∨| 久久精品?ⅴ无码中文字幕| 色综合久久久久| 久久精品成人免费看| 91视频国产91久久久| 久久久久久国产精品无码超碰| 狠狠色丁香久久婷婷综合| 狠狠色综合网站久久久久久久高清| 青青热久久国产久精品| 日本高清无卡码一区二区久久| 久久91这里精品国产2020| 久久久久综合中文字幕| 欧美色综合久久久久久| 久久久精品视频免费观看|