gitosc 账号:wang.520
#include<stdio.h> int main() { int i,m,f; void fun(int *q,int n);//声明调用函数 int a[10]; f=1; printf("观察数组中元素: "); for(i=0;i<10;i++)//利用for循环设置第几个数组元素为几的阶乘 {for(m=1;m<i+2;m++) { f=f*m;// } a[i]=f; f=1;//将f的值变为1,以上for循环改变了f的值 printf("%d,",a[i]); } printf(" "); int *p; p=a; printf("用调用函数输出数组中元素: "); fun(p,10);//调用输出函数 return 0; } void fun(int *q,int n) {int *d; for(d=q;d<(q+n);d++) printf("%d,",*d); }
观察数组中元素: 1,2,6,24,120,720,5040,40320,362880,3628800, 用调用函数输出数组中元素: 1,2,6,24,120,720,5040,40320,362880,3628800, -------------------------------- Process exited after 0.04108 seconds with return value 0 请按任意键继续. . .
总结:在编这个程序时候,利用for循环设置第几个数
组元素为几的阶乘时。f经过for循环值改变,
我一开始没有将f变回原来值导致程序错误。编
程序要注意细节,一点差错,输出结果就差别很
大。调用函数是将数组首地址和数组元素个数传
给形参,然后通过for循环改变地址输出各元素的值。