main(void)
{
int i,n=0;
long f1,f2,*pt1,*pt2;
long a(long *p1,long *p2);
f1=1;
f2=1;
printf(“\n\n”);
printf(“%12ld%12ld”,f1,f2);
for(i=1;i<20;i++)
{pt1=&f1;pt2=&f2;
a(pt1,pt2);
printf(“%12ld%12ld”,f1,f2);n++;
if((n+1)%2==0)
printf(“\n”);
}
}
long a(long *p1,long *p2)
{ *p1=*p1+*p2;
*p2=*p1+*p2;
}
请问这个Fibonacci数列求解C程序的指针用法正确吗?小弟刚学C语言20天,对这个不是很懂;谢谢各位教下小弟;
{ *p1=*p1+*p2;
*p2=*p1+*p2;
}
请问这个Fibonacci数列求解C程序的指针用法正确吗?小弟刚学C语言20天,对这个不是很懂;谢谢各位教下小弟;
>> 本文固定链接: http://www.vcgood.com/archives/2446
#include<stdio.h>
void a(long *p1,long *p2);
int main(void)
{
int i,n=0;
long f1,f2,*pt1,*pt2;
f1=1;
f2=1;
printf(“\n\n”);
printf(“%12ld%12ld”,f1,f2);
for(i=1;i<20;i++)
{
pt1=&f1;pt2=&f2;
a(pt1,pt2);
printf(“%12ld%12ld”,f1,f2);n++;
if((n+1)%2==0)
printf(“\n”);
}
return 0;
}
void a(long *p1,long *p2)
{
*p1=*p1+*p2;
*p2=*p1+*p2;
}
还不错。
那个a函数既然没有返回值就应该标记为空啊。
还有你的代码格式有点乱(应该说是相当的乱…)。
最好改一改。
谢谢,指点的非常的好
看看…
#include<stdio.h>
void a(long *p1,long *p2)
{
*p1=*p1+*p2;
*p2=*p1+*p2;
}
void main()
{
int i,n=0;
long f1,f2,*pt1,*pt2;
f1=1;
f2=1;
printf(“\n\n”);
printf(“%12ld%12ld”,f1,f2);
for(i=1;i<20;i++)
{
pt1=&f1;pt2=&f2;
a(pt1,pt2);
printf(“%12ld%12ld”,f1,f2);n++;
if((n+1)%2==0)
printf(“\n”);
}
}