题目都非常简单,在此就不再赘述,直接上代码
数据交换源码
#include <stdio.h>
void swap(int *x,int *y){
int z=*x;
*x=*y;
*y=z;
}
int main(){
int x,y;
scanf("%d%d",&x,&y);
swap(&x,&y);
printf("%d %d",x,y);
}
代码说明
采用指针进行地址的传递,从而达到修改main函数中参数值的效果。
加法运算源码
#include <stdio.h>
int a[2];
int* GetTwoInts()
{
scanf("%d %d",&a[0],&a[1]);
return a;
}
int main()
{
int *a=GetTwoInts();
//printf("???");
int m=*a;
int n=*(a+1);
//printf("!!!");
printf("%d\n",m+n);
}
代码说明
a[2]一定要声明在GetTwoInts()函数的外面,因为调用GetTwoInts()函数后系统会自动释放函数内部的局部变量的存储空间。如果放在GetTwoInts()函数内,则返回的指针a中无法读出相应数据。
在此还需注意C++中,动态数组读取对应下标数据的方式。