老师前几天生病做完作业忘记发了 不好意思
一 知识点:
1.如果程序中声明一个变量并使用地址作为该变量的值,那么这个变量就是指针变量。
2.定义指针变量时应可以同时对它赋值int a; int *p=&a;
3.指针变量的类型不是指指针变量本身的类型,而是指它所指向的变量的数据类型。
4.无论何种类型的指针变量,他们都是用来存放地址的。
二 遇到的问题与解决方法
1.有时候赋值发现不能成功,指针类型和他所指向变量的类型必须相同
三 实验心得
要多加进行练习 锻炼 才会有进步
#include<stdio.h> void sum_diff(float op1,float op2,float*psum,float*pdiff) { if(NULL==psum||NULL==pdiff) { printf("res mem is NULL "); return ; } *psum=op1+op2; *pdiff=op1-op2; } int main() { float num1,num2,sum,diff; printf("Input op1 op2:"); scanf("%d%d",&num1,&num2); sum_diff(num1,num2,&sum,&diff); printf("The sum is:%.2f ",sum); printf("The diff is:%.2f ",diff); return 0; }
#include<stdio.h> int main() { void findmax(int *px,int *py,int *pmax); int x1,x2,max=0; printf("输入px,py:"); scanf("%d%d",&x1,&x2); findmax(&x1,&x2,&max); printf("max=%d ",max); return 0; } void findmax(int *px,int *py,int *pmax) { if(*px<*py){ *pmax=*py; } else *pmax=*px; }
#include<stdio.h> int main() { float a,c; int b; void splitfloat(float x,int *intpart,float *fracpart); printf("输入一个实数x:"); scanf("%f",&a); splitfloat(a,&b,&c); printf("整数部分:%d,小数部分:%f ",b,c); return 0; } void splitfloat(float x,int *intpart,float *fracpart) { *intpart=(int)x; *fracpart=x-(*intpart); }