/*
指针的特点2 数组指针 指针数组
wky
*/
#include <stdio.h>
void jjcc(int a,int b ,double (*c)[ ]){
// c[0] = a+b;
// c[1] = a-b;
// c[2] = a*b;
// c[3] = a/b;
(*c)[0] = a+b;
(*c)[1]= a-b;
(*c)[2] = a*b;
(*c)[3] = (double)a/b;
}
void jjcc2(char *(c[ ])){
// c[0] = '+';
// c[1] = '-';
// c[2] = '*';
// c[3] = '/';
//*c = '+';//*c = c[0]
// *(c+1)='-';//*(c+1) = c[1]
// *(c+2) = '*';
// *(c+3) = '/';
**c = '+';//*c 数组c第一个值 但是数组c的第一个值也是地址 **c 数组c的第一个值用*就是值
**(c+1) = '-';
**(c+2) = '*';
**(c+3) = '/';
// for (int i = 0 ; i < 4; i++) {
//printf("%d",*c);
//}
//printf("c=%p,*c=%p",*c[1],**(c+1));
// **c = '-';
// **c = '*';
// **c = '/';
}
int main(){
int a;
int b;
char aa,bb,cc,dd;
double strs[4];
double (*cd)[ ] = &strs;
char *str[4] = {&aa,&bb,&cc,&dd};//不初始化就会出现野指针
printf("请输入两个整数,以逗号分割\n");
scanf("%d,%d",&a,&b);
jjcc(a,b,cd);//数组指针
jjcc2(str);//指针数组
for(int i = 0 ; i <4 ; i++){
printf("a%cb=",**(str+i));
printf("%.3f\n",strs[i]);
}
return 0;
}
分享一下自己写的 这段代码把指针数组和数组指针都用上了 |
|