亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請幫我分析一下,這段程序是怎么運行的?值的變化是怎么樣的?

請幫我分析一下,這段程序是怎么運行的?值的變化是怎么樣的?

C
繁花如伊 2023-03-05 16:12:21
#include<stdio.h>void main(){int diecheng(int num);printf("%d",diecheng(5));}int diecheng(int num){int result;if(num==0)result=1;elseresult=num*diecheng(num-1);return result;}
查看完整描述

2 回答

?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

從主函數開始運行,遇到調用函數時,直接跳到下面的函數定義中運行,然后把返回值帶到主函數,繼續運行主函數下面的部分。
#include<stdio.h>
void main()
{
int diecheng(int num); \\聲明函數
printf("%d",diecheng(5)); \\diecheng(5)即為調用此函數,實參為5
}
int diecheng(int num) \\定義函數
{
int result; 
if(num==0)
result=1;
else
result=num*diecheng(num-1);
\\因為實參為5,所以運行else下面的,result=5*(5-1)即為20
return result; \\返回result的值(即20)到主函數的printf語句中,從而打印出來
}

查看完整回答
反對 回復 2023-03-08
?
DIEA

TA貢獻1820條經驗 獲得超2個贊

進入主函數首先聲明diecheng函數然后打印diecheng(5),進入diecheng函數,num=5,所以result5=5*diecheng(4),進入diecheng(4)result4=4*diecheng(3)進入diecheng(3) result2=3*diecheng(2) 進入diecheng(2) result2=2*diecheng(1),進入diecheng(1) result1=1*diecheng(0),diecheng(0)=1,result1=1;result2=2;result3=6;result4=24;result5=120,所以結果是120

查看完整回答
反對 回復 2023-03-08
  • 2 回答
  • 0 關注
  • 127 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號