如题:
以下程序的打印结果是()
#include<iostream>
using namespace std;
void swap_int(int a , int b)
{
int temp = a;
a = b;
b = temp;
}
void swap_str(chara , charb)
{
chartemp = a;
a = b;
b = temp;
}
int main(void)
{
int a = 10;
int b = 5;
charstr_a = "hello world";
char*str_b = "world hello";
swap_int(a , b);.
swap_str(str_a , str_b);
printf("%d %d %s %s\n",a,b,str_a,str_b);
return 0;
}
打印结果:
10 5 hello world world hello
2:
【1】执行swap_int(a,b);时,不能互换a和b的值,是因为执行互换函数时,只是互换了形参的值,函数执行结束时,对实参没做任何改变。
【2】执行swap_str(str_a , str_b);时,不能互换a和b的值,是因为对于指针变量来说,改变地址的值并不改变指针所指向的内容的值。
注:指针就是地址;指针变量就是存放地址的变量;改变地址的值并不改变该地址对应的内容的值