一道C++选择题求分析,答案是C1 (单选)此函数实现把32位IP地址(网络序)以字符串的方式打印出来: char *IpAddr2Str(unsigned long ulIpAddr) { char szIpAddr[32]; unsigned long ulLocIpAddr = ntohl(ulIpAddr);//把
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/17 19:04:44
一道C++选择题求分析,答案是C1 (单选)此函数实现把32位IP地址(网络序)以字符串的方式打印出来: char *IpAddr2Str(unsigned long ulIpAddr) { char szIpAddr[32]; unsigned long ulLocIpAddr = ntohl(ulIpAddr);//把
一道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么.关于题目中的位运算求详解= =菜鸟无能
一道C++选择题求分析,答案是C1 (单选)此函数实现把32位IP地址(网络序)以字符串的方式打印出来: char *IpAddr2Str(unsigned long ulIpAddr) { char szIpAddr[32]; unsigned long ulLocIpAddr = ntohl(ulIpAddr);//把
说的很对:0xff是8个1
那个地方是将移位运算的结果 和 8个1进行 位与& 运算,这样就可以保证比8位高的地方全部置成0,而最后8位保持不变.