作业帮 > 综合 > 作业

一道C++选择题求分析,答案是C

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/08 04:24:14
一道C++选择题求分析,答案是C
1 (单选)此函数实现把32位IP地址(网络序)以字符串的方式打印出来:
char *IpAddr2Str(unsigned long ulIpAddr)
{
char szIpAddr[32];
unsigned long ulLocIpAddr = ntohl(ulIpAddr);//把网络序转话为主机序
(void)VOS_sprintf(szIpAddr, "%d.%d.%d.%d", ulLocIpAddr >> 24,
(ulLocIpAddr >> 16) & 0xff, (ulLocIpAddr >> 8) & 0xff, ulLocIpAddr & 0xff);
return szIpAddr;
}
下面描述正确的是( ):
(2分)

A : 数组szIpAddr空间不够;
B : 输出的IP地址次序颠倒;
C : 函数返回局部数组szIpAddr变量地址;
D : 以上都不正确

话说0xff换成二进制是什么,8个1么.关于题目中的位运算求详解= =菜鸟无能
说的很对:0xff是8个1
那个地方是将移位运算的结果 和 8个1进行 位与& 运算,这样就可以保证比8位高的地方全部置成0,而最后8位保持不变.