|
发表于 2024-7-6 21:13:52
|
显示全部楼层
首先,溢出之后的行为好像是未定义
另外,试试这个代码
- #include <iostream>
- void swap(int *x, int *y) {
- int temp;
- temp = *x;
- *x = *y;
- *y = temp;
- }
- int main() {
- int x = 123, y = 456;
- std::cout << "请输入两个不同的值";
- std::cin >> x >> y;
- swap(&x, &y);
- std::cout << "调换后输入: " << x << " " << y << "\n\n";
- std::cout << "调换后输入: " << std::hex << x << " " << std::hex << y << "\n\n";
- return 0;
- }
复制代码
- sh-5.2$ ./main
- 请输入两个不同的值1213141516171819 0
- 调换后输入: 456 2147483647
- 调换后输入: 1c8 7fffffff
- sh-5.2$ ./main
- 请输入两个不同的值1213141516171819 0
- 调换后输入: 456 2147483647
- 调换后输入: 1c8 7fffffff
- sh-5.2$
复制代码 |
|