#include <bits/stdc++.h>
#include <sstream>
char temp;
std::stringstream ss;
void digsp(int &x, int i, int j)
{
i--, j--;
std::string s;
ss << x, ss >> s;
ss.clear();
std::swap(s[i], s[j]);
x = atoi(s.c_str());
}
int main()
{
int x, i, j;
scanf("%d %d %d", &x, &i, &j);
digsp(x, i, j);
printf("%d", &x);
return 0;
}
这是一个将一个数字中两个数位交换的代码
(目标如:输入为 233 1 2,则输出为 323),问为什么错了