C/C++返回内部静态成员的陷阱

char*inet_ntoa(structin_addrin);
将一个IP转换成一个互联网标准点分格式的字符串。
如果正确,返回一个字符指针,指向一块存储着点分格式IP地址的静态缓冲区(同一线程内共享此内存);错误,返回NULL。
这里返回的值是static型,所以对于1语句是覆盖了src的地址
`
#**include** <iostream> #**include** <Winsock2.h> **using** **namespace** std; **int** main() {     **struct** in_addr src, des;     src.s_addr = 3776385196;    //对应于172.16.23.225     des.s_addr = 1678184620;    //对应于172.16.7.100     cout << "src\t" << inet_ntoa(src) <<endl         << "des\t" << inet_ntoa(des) << endl;          cout << endl;     cout << "src\t" << inet_ntoa(src) <<endl;     cout << "des\t" << inet_ntoa(des) << endl;     system("pause");     **return** 0; }
`
运行结果
`
src     172.16.23.225 des     172.16.23.225 src     172.16.23.225 des     172.16.7.100 请按任意键继续. . .
`
[来自为知笔记(Wiz)](http://www.wiz.cn/i/c09d0bb5 "来自为知笔记(Wiz)")
坚持原创技术分享,您的支持将鼓励我继续创作!