面试题B卷(文字版, 图片看不清了)
#define DEF_MSG = "Hi,Boddy!"
int i = 1 ;
char* f1(const char* str, int *n)
{
char* p = (char*)malloc(10) ;
if (str)
{
strcpy(p, str, 10) ;
}
(*n)++ ;
return p ;
}
char* f2(char* (*pf)(const char*, int*))
{
i++ ;
char* x2 = pf(DEF_MSG, &i) ;
printf("x2 = %s\n", x2) ;
}
int main(int args, char* argv[])
{
const char* msg = "Hello,Boddy!" ;
char* (*pf)(const char*, int*) ;
pf = f1 ;
char* x1 = (*p)(msg, &i) ;
printf("x1 = %s\n", x1) ;
printf("i1 = %d\n", i) ;
f2(p1) ;//或者是f2(f1)
printf("i2 = %d\n", i2);
return 0 ;
}
1. 该程序中, x1 =
2. 该程序中, i1 =
3. 该程序中, x2 =
4. 该程序中, i2 =
5. 该程序中, f1是线程安全的?
6. 该程序中, 可能造成内存泄漏的行, 请写出行号, 用逗号分隔.
7. 该程序中, 指针函数(只包括定义)出现在的行, 请写出行号, 用逗号分隔
8. 该程序中, 函数指针(只包括定义)出现在的行, 请写出行号, 用逗号分隔
发表评论 取消回复