第1题
分析下面的程序:
void GetMemory(char **p,int num)
{
*p=(char *)malloc(num);
}
int main()
{
char *str=NULL;
GetMemory(&str,100);
strcpy(str,"hello");
free(str);
if(str!=NULL)
{
strcpy(str,"world");
}
printf("\n str is %s",str);
getchar();
}
问输出结果是什么?希望大家能说说原因,先谢谢了
第2题
第3题
A.void fun(int n,char * s) { …… }
B.则下面对函数指针的定义和赋值均是正确的是
C.)void (*pf); pf=fun
D.)viod *pf; pf=fun
E.)void *pf; *pf=fun
F.)void (*pf)(int,char);pf=&fun
第4题
根据下面的定义,能打印出字母M的语句是()。 struct person { char name[9]; int age; }; struct person class[10]={"John",17,"Paul",19,"Mary",18,"Adam",16};
A.printf("%c\n",class[3].name};
B.printf("%c\n",class[2].name[0]);
C.printf("%c\n",class[3].name[1]);
D.printf("%c\n",class[2].name[1]);
第5题
第6题
A.int,double,char,boolean
B.int,float,char,boolean
C.int,float,String,boolean
D.int,double,String,boolean
第8题
A.void fun(char sex){ }
B.har fun(char sex) { }
C.loat fun(char sex) { }
D.int fun(char sex){ }
第9题
A.3
B.4
C.5
D.6
第10题
A.基本数据类型和String相加结果一定是字符串型
B.char类型和int类型相加结果一定是字符
C.double类型可以自动转换成int
D.char + int + double + 结果一定是double