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]='