|
请问老师:
#include <iostream>
using namespace std;
void swap(int* a, int* b)
{
int c;
//为什么不能定义int* c呢?
//*c=*a与下面的*a=*b不是一样吗?
//c=*a理解为,把指针地址付给int变量,会不会出现地址超出int的取值范围的情况?
c = *a;
*a = *b;
*b = c;
return;
}
int main()
{
int x = 5, y = 6;
swap(x, y);
//这里swap(&x,&y)与(x,y)同样输出正确,又是为什么??
cout << x << " " << y << endl;
return 0;
}
谢谢!
- #include <iostream>
- using namespace std;
- void swap(int* a, int* b)
- {
- int* c = NULL;
- *c = *a;
- *a = *b;
- *b = *c;
-
- return;
- }
- int main()
- {
- int x = 5, y = 6;
- swap(x,y);
- cout << x << " " << y << endl;
-
- return 0;
- }
复制代码
|
上一篇: C/C++ Windows 程序设计第4课作业问题下一篇: MFC UI使用怎么那么难。
|