中興軟體測試面試題

才智咖 人氣:1.84W

1. 下面這段程式碼的輸出是多少(在32位機上).

中興軟體測試面試題

char *p;

char *q[20];

char *m[20][20];

int (*n)[10];

struct MyStruct

{

char dda;

double dda1;

int type ;

};

MyStruct k;

printf("%d %d %d %d",sizeof(p),sizeof(q),sizeof(m),sizeof(n),sizeof(k));

答案:4,80,1600,4,24

(1)

char a[2][2][3]={{{1,6,3},{5,4,15}},{{3,5,33},{23,12,7}} };

for(int i=0;i<12;i++)

printf("%d ",__a[0][0][i]_);

在空格處填上合適的語句,順序打印出a中的'數字

(2)

char **p, a[16][8];

問:p=a是否會導致程式在以後出現問題?為什麼?

答:沒有問題,只是使用時要小心,p是指向指標的指標。

3.用遞迴方式,非遞迴方式寫函式將一個字串反轉.

函式原型如下:char *reverse(char *str);

答:非遞迴方式:

char *reverse(char *str)

{

if(str!=NULL)

{

int length = strlen(str);

char *dst=NULL;

dst=(char*)malloc((length+1)*sizeof(char));

int i=0;

for(i=0;i<length;i++)< p="">

{

dst[i]=str[length-1-i];

}

dst[i]='