Re: [課業] c語言詢問
簡單的寫一下
第一次呼叫--> bar(5) --> tmp++之後為1, value++後為6 --> 6+1=7
第二次呼叫--> bar(5) --> tmp++之後為2, value++後為6 --> 6+2=8
第三次呼叫--> bar(8) --> tmp++之後為3, value++後為9 --> 9+3=12
因為tmp是static,所以會keep上一次的值
應該是這樣,如果有錯煩請各位高手指正
※ 引述《fishtory (fishtory)》之銘言:
: [課業] 國考課業相關問題,非歷屆考題的討論,如學理觀念的釐清。
: #include<stdio.h>
: int bar (int value) {
: static int tmp =0;
: tmp++; value++; return value + tmp;}
: void main(){
: int x=5; printf("%d\n", bar(x));
: printf("%d\n", bar(bar(x)));}
: value的變化 5,5,8,12
: 輸出 5,8,12
: 請問有人明白呢?
: 100年地特統計組 資料處理科
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.0.147
討論串 (同標題文章)