C语言试题
一:单项选择题
1.
void Example(char acHello[])
{
printf("%d", sizeof(acHello));
return;
}
void main()
{
char acHello[] = "hello";
Example(acHello);
return;
}
的输出是( )
A 4
B 5
C 6 D不确定
2.网络上传输的字节序默认是大字节的,如果主机是小字节序,在网络通信时则须进行字节序转换;如果主机是大字节序,为了程序的一致性及可移植性,最好也在程序中加上字节序转换的操作(空操作)。( )
A. 正确
B.错误
3. int *(*ptr)();
则以下叙述中正确的是( )
A) ptr是指向一维组数的指针变量
B) ptr是指向int型数据的指针变量
C) ptr是指向函数的指针,该函数返回一个int型数据
D) ptr是指向函数的指针,该函数的返回值是指向int型数据的指针
4.此函数实现把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;
}
下面描述正确的是():
A、数组szIpAddr空间不够;
B、函数返回局部数组szIpAddr变量地址;
C、输出的IP地址次序颠倒;
5.
#define OK 0
#define ERR 1