如果是C++就好办, 可以用一个关键字:decltype
你可以这样用:
decltype(s[0]) t;
t = s[2];
s[2] = s[9];
s[9] = t;
这是C11标准的, 如果是11年前的编译器, 就会报错.
如果不用decltype, 那你就只能查看s的定义, 然后手写咯~
#include
using namespace std;
struct people
{
int s[10];
};
int main()
{
people p;
for (int i = 0; i < 10; i++)
{
p.s[i] = i;
}
cout << "交换前的a[2]的值" << p.s[2] << endl;
cout << "交换前的a[9]的值" << p.s[9] << endl;
int a;
a = p.s[2];
p.s[2] = p.s[9];
p.s[9] = a;
cout << "交换后的a[2]的值" << p.s[2] << endl;
cout << "交换后的a[9]的值" << p.s[9] << endl;
return 0;
}
std::swap