- a是二維數(shù)組列疗,a[i][j]的指針訪問方式為:( )
A *(a+i+j)
B ((a+i)+j)
C *(a+i)+j
D *a+i+j
2.輸出以下結果
define add(a,b) a+b
int main()
{
printf("",3*add(4,7));
}
3.使用程序解答如何判斷一個單向鏈表中是否有環(huán)。
struct listtype
{
int data;
struct listtype * next;
}list;
int find_cicle(list *head)
{
list *pFast=head;
list *pSlow=head;
if (pFast==NULL)
{
return -1;
}
while(pFast && pFast->next)
{
pFast=pFast->next->next;
pSlow=pSlow->next;
if (pFast==pSlow)
{
return 1;
}
}
return 0
}
4.malloc/free 和new/delete的區(qū)別
5.autorelease 和 release的區(qū)別
release 會立馬對對象進行引用計數(shù)減一操作悬槽,如果當前對象的引用計數(shù)小于0荣倾,則會進行釋放关拒。
autorelease 則會將該對象放入到自動釋放池中桌硫,當一幀結束的時候會執(zhí)行release操作進行引用計數(shù)減一操作,如果當前對象的引用計數(shù)小于0趋箩,則會進行釋放赃额。
6.說說cocos2d的屏幕適配方案
7.分別寫出BOOL,int ,float,指針類型的變量a與‘零’的比較語句
BOOL : if ( !a ) or if(a)
int : if ( a == 0)
float : const EXPRESSION EXP = 0.000001 if ( a < EXP&& a >-EXP)
pointer : if ( a != NULL) or if(a == NULL)
8.寫一個函數(shù)找出一個整數(shù)數(shù)組中,第二大的數(shù)阁簸。
int max,second,i;
max=0;
second=0;
for(i=0;i<length;i++){
if(a[i]>max){
second=max;
max=a[i];
} else if(a[i]>second){
second=a[i];
}
}
return second;
}
/***
* 冒泡兩次找到最大值
* @param a
* @param length
* @return
*/
public static int find2(int a[],int length){
int i=0;
int j=0;
for(i=0;i<2;i++){
for(j=i;j<length;j++){
if(a[i]<a[j]){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
return a[1];
}