函数题:IPv4地址 - C/C++ 指针及引用
一个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/)

答案:若无答案欢迎评论
该程序通过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/)

答案:若无答案欢迎评论