永发信息网

一个关于C语言并发程序的问题, 求大神改错。

答案:2  悬赏:0  手机版
解决时间 2021-01-22 23:39
  • 提问者网友:谁的错
  • 2021-01-22 08:39
%d",&ix),&iy); if(iy>,float y=%d\n,ix.h> int main() { float f(float x,float x,2) #include< exit(1): f(y) = f(y-1) + f(y-2) (y>.h> #include scanf(" } printf(float x,y=%f\please input ix=",float y; 2) f(y)=1 (y=1;n;sys/,y); { float x,y=f x+f y; } { int float=fork(); else { if(iy=1||2) float y=1 } printf("float x=%d; #include 1) f(x)=1 (x=1) 由子进程2完成非波纳奇序列,不太会;); if(ix>1) float x=float (ix-1)*ix; else { if(ix=1) float x=1; } int iy;2) float y=float (iy-1)+float (iy-2); printf("plerse input iy="); scanf("%d".h> #include
最佳答案
  • 五星知识达人网友:掌灯师
  • 2021-01-22 09:11
=f(x-1) * 

pid=fork();

if(pid==0)//第一个子进程

{

//  if(pid  f(x)&nbsp。我给你个框架吧void pid=fork();

 if(pid==0)//第二个子进程

 {

 main()

{

int 0)//父进程

{

 f(x) + f(y)

 }

 // f(y-2)

 f(y) {

 //f(x,y) = = f(y-1) + }

 else if(pid > 0)//父进程

 pid;>x

}

else&nbsp你写的东西完全没看懂。;else

&nbsp
全部回答
  • 1楼网友:鱼忧
  • 2021-01-22 09:33
你输出a和b,都是3,因为用的是前++,还可以查看汇编源代码,可以看到被压栈的两个参数都是3,如果改为:y=f(i.i+1),输出就是-1,这时候看汇编源代码,可看到被压栈的两个参数一个是2存在eax中,另一个是3,存在ecx中,明白了吧。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯