-->
当前位置:首页 > 题库

函数题:IPv4地址 - C/C++ 指针及引用

Luz4年前 (2022-09-06)题库993
一个IPv4地址可用一个4字节的无符号整数来表示。下述setByte(ip,idx,v)函数负责将指针ip所指向的IP地址的第idx个字节修改为v,其中,idx取值0到3。请实现该函数,使得下述程序可以正常运行。
该程序通过4次调用该函数将一个ip地址设置为192.168.0.1,然后将整个ip地址按通常格式输出。

### 函数接口定义:
c++
void setByte(unsigned int* ip, int idx, unsigned char v);


### 裁判测试程序样例:
c++
#include <stdio.h>

//在此处定义setByte()函数

void outputIPv4(unsigned int ip){
unsigned char* p = (unsigned char*)&ip;
printf("%d.%d.%d.%d",p[0],p[1],p[2],p[3]);
}

int main()
{
unsigned int ip = 0;

setByte(&ip,0,192);
setByte(&ip,1,168);
setByte(&ip,2,0);
setByte(&ip,3,1);

outputIPv4(ip);
return 0;
}


### 输入样例:
in


### 输出样例:
out
192.168.0.1


请注意:函数题只需要提交相关函数的定义代码,不要提交完整程序。

### 感觉不会?  那试着听听**免费的B站网课**
[简洁的C和C++ - 重庆大学在线课程](https://www.bilibili.com/video/BV1it411d7zx/)
[Python编程基础及应用 - 重庆大学在线课程](https://www.bilibili.com/video/BV1kt411R7uW/)
![image.png](~/6e79c9e3-cb7f-486d-ab78-36b5a8f655c0.png)








答案:若无答案欢迎评论