首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

初初学者求教一个小题目

2013-01-01 
初菜鸟求教一个小题目!本帖最后由 jsjisweet 于 2012-11-15 21:44:59 编辑据说是腾讯10年面试题,群里一些

初菜鸟求教一个小题目!
本帖最后由 jsjisweet 于 2012-11-15 21:44:59 编辑 据说是腾讯10年面试题,群里一些大哥哥们分享的!
题目: 以下2个程序是否能是现在两数互换?为什么?

上代码:第一个:


#include <iostream>
using namespace std;
void swap(int *p, int *q)
{
int *temp;
temp=p;
p=q;
q=temp;
}
int main()
{
int a=1,b=2;
swap(a,b);
return 0;
}


第二个:

#include <iostream>
using namespace std;
void swap(int *p, int *q)
{
int *temp;
*temp=*p;
*p=*q;
*q=*temp;
}
int main()
{
int a=1,b=2;
swap(a,b);
return 0;
}

[解决办法]
两个都是不可以的,应该改成这样:

#include <iostream>
using namespace std;
void swap(int *p, int *q)
{
    int temp;
    temp=*p;
    *p=*q;
    *q=temp;
}
int main()
{
    int a=1,b=2;
    swap(&a,&b);
    return 0;
}

热点排行