c語言詢問 - 考試

Table of Contents

簡單的寫一下

第一次呼叫--> 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年地特統計組 資料處理科

--

All Comments