函数返回值为指针,主函数中调用时确出了点问题...
这个函数的功能只是产生一个1024位的二进制大整数,用数组保存,返回一个指向这个数组的指针,函数没问题,但调用后却产生了一些随机值,表示很不理解...附代码:
程序代码:
#include <stdio.h> /*产生一个1024位的大整数*/ int* PBINT() { int Br[1024],I,*P=NULL; srand(time(NULL));//产生真随机数 for(I=0;I<1024;I++) { Br[I]=rand()%2;//产生随机的0,1数,依次存进数组 printf("%d ",Br[I]);//测试是否正确产生了大整数 } if(Br[0]==0) Br[0]=1;//如果首位为0,则没有意义 printf("\n"); P=Br; return P;//返回一个指针,指向存放大整数的数组的首地址 } main() { int br[1024],i,*p=NULL; p=PBINT();//函数调用 for(i=0;i<1024;i++) { br[i]=*p;//将产生的大整数依次输出到数组br中 printf("%d ",br[i]); p++; } }
效果图: