#define SOR(x) (x*x)
{
int a , b=3;
a=SOR(b+2);
printf("%d",a);
}
代码结果11;宏只是文本替换;
以下哪一个不是函数指针变量__A___
A void*f(void);函数定义
B.void*(*f)(void);函数指针,指针f指向一个函数,这个函数没有参数,返回值是无类型指针
C.void*(*f)(void*);函数指针,指针f指向一个函数,这个函数参数为无类型指针,返回值为无类型指针
D.void(**f)(void*);二级函数指针,指针f指向的依然是一个指针,指针f指向的指针所指向的是一个函数,参数为一个无类型指针,没有返回值
char str[]="hello",sizeof(str)=__B___
A.5 B.6 C.4 D.7
volatile关键字的作用
告诉编译器,这个变量的值随时可能被程序控制之外的因素修改(如硬件,操作系统,中断等),因此禁止编译器对该变量进行任何优化
.某公司申请到-一个C类的1P地址,但要连接6个子公司,最大的一个子公司有26台计算机,每个子公司在一个网段中,则子网掩码应该为多少?
C类IP地址,三字节网络号+一字节主机号
子网掩码目的是,屏蔽主机号,获取网络号,即IP地址与子网掩码按位与运算
若该IP地址为192.168.1.100,子网掩码为255.255.255.0
则可分配的地址为192.168.1.0~192.168.1.255
其中192.168.1.0与192.168.1.255不能用
因此最多主机个数为256-2=254个
题目要求6个子公司每个子公司有26台计算机
因为6个子公司需要至少6个网络号,因此把1字节主机号拆分,前三位代表网络号,可以分出8个不同的网络号,后五位代表主机号,可以分出2^5 -2=30个相同网络号下的主机号,因此子网掩码应该为255.255.255.224
void GetMemory(char**p)
{
*p=(char*) malloc(100);
}
void Test(void)
{
char *str =NULL;
GetMemory(&str);
strcpy(str,"hello world");
printf(str);
}
char *strcopy(char *dest,const char * src)
{ if (src==NULL) return NULL;
char *ret=dest;
while(*dest++==*src++!='\0');
return ret;
}
不用第三个变量,交换a和b的值
void func(int*a,int*b)
{
*a=*a^*b;
*b=*a^*b;
*a=*a^*b;
}