1,航天二院某所面試題,考查的是結構體和陣列的記憶體布局情況。
#include
#include
typedef struct array1a;
typedef struct array2* b;
int main()
a s1[15];
a* s2;
b s3;
for(int i=0;i<10;i++)
s2=s1+3;
s3=(b)s2;
printf("%d/n",s3->b);
return 0;
2,某通訊企業的面試題目,從字串陣列和指標字串在記憶體中的分配情況考查指標的使用。
#include
#include
#include
char *getmemory(char *p)
//當呼叫此函式時,會在棧裡分配乙個空間儲存p, p指向堆當中的一塊記憶體區,當函式呼叫結束後,若函式沒有返回值,
//系統自動釋放棧中的p
void test(void)
char *getmemory1(void)
//若換成char p="hello world"; 就會在函式呼叫結束後,釋放掉為"test1"的拷貝分配的空間,返回的p只是乙個野指標
void test1()
void getmemory2(char **p, int num)
//當呼叫此函式時,會在棧裡分配乙個空間儲存p, p指向棧中的一變數str,在此函式中為str在堆當中分配了一段記憶體空間
//函式呼叫結束後,會釋放p, 但str所在的函式test2還沒執行完,所以str此時還在棧裡.
void test2(void)
void test3(void)
}int main()
3,c語言中sizeof的用法
void fun(char s[10])
int main()
char str=;
printf("%d/n",sizeof(str));//字串陣列的大小10(包含了字元'/0')
printf("%d/n",strlen(str)));//字串的長度9
char *p=str;
printf("%d/n",sizeof(p));//指標的大小4
printf("%d/n",strlen(p));//字串的長度9
fun(str);
void *h=malloc(100);
char ss[100]="abcd";
printf("%d/n",sizeof(ss));//字串陣列的大小100
printf("%d/n",strlen(ss));//字串的長度4
printf("%d/n",sizeof(h));//指標的大小4
面試筆試程式設計題(三)
六 驗證回文串 給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false def huiw...
面試程式設計題整理
1.輸入c寫乙個輸入的整數,倒著輸出整數的函式,要求用遞迴方法 要求用遞迴的方法對乙個整數進行倒敘 include void func int n else func n int main 2.編寫乙個函式,作用是把乙個char組成的字串迴圈右移n個。比如原來的是 abcdefgh 如果n 2,移位...
面試程式設計題收集
1 有n個人圍成一圈,第乙個人從1開始報數,報到m的人出列,求最後乙個出列的人,約瑟夫環問題。public void testtest int m 10 int length int m while length people.length 1 else string temp new string...