#include <stdio.h>
#include <森滚math.h>
float dist( float *p1, float *p2){
float d[3],ds
int i
for (i=0i<3i++) d[i] = p2[i]-p1[i]
ds = sqrt( d[0]*d[0]+ d[1]*d[1]+d[2]*d[2])
return ds
}
void vec( float *p1, float *p2, float *p3){
int i
for (i=0i<3i++) p3[i]=p1[i]+p2[i]
}
int main()
{
float a[3],b[3],c[3]
int i
printf("input x y z for point 1\n"此凯余)
for (i=0i<3i++)scanf("%f",&a[i])
printf("input x y z for point 2\孙者n")
for (i=0i<3i++)scanf("%f",&b[i])
printf("distence: %g\n", dist(a,b))
printf("\n")
vec(a,b,c)
for (i=0i<3i++) printf("%g ",c[i])
return 0
}
数组名就是指针,例如:
#include <stdio.h>
void pr(char *p)
{
printf(p)
}
void main(void)
{
char s[] = "abc"
pr(s)
}
扩展资料:注意事项
非数组类的声明尽量以指针的方式进行比较好。倘若一个指针指向的内存并不是一个数组,那么采用数组名的声明方式或许就会给人产生错误的引导。类似的,如果指向的是一个数组区域,则会给人以更加戚仔丰富的信息。例如:
int main(int argc,char* argv[])
{
/* code here */
}
与
int main(int argc,char** argv)
{
/* code here */
}
两种方式完全等价,但是前面一种能够更清晰地看出:这个参数是指向某个元素起始地址的指针,而脊迹后面樱仔并的这种方式则不能够直观地看出这种含义。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)