106關務 程式語言概要考古題請益 - 考試
By Olivia
at 2018-03-01T20:15
at 2018-03-01T20:15
Table of Contents
給予下列C程式
int calculate(int *j)
{
*j+=5
return *j;
}
void main()
{
int y=3;
y=y+calculate(&y);
}
請求出main()中語句y=y+calculate(&y)執行完後之y值
(1)運算元從左到右評估
(2)運算元從右到左評估
第一題--我的邏輯是calculate(&y)參數傳遞是傳址
所以運算完後的結果y的值會改變,從左到右評估的話是從左邊的運算元開始做
所以會變成 3+8=11
第二題照同邏輯的話是 8+8=16
我有上機執行這段程式碼 得到的答案是16
但參考書上的解答第一題答案是 8 第二題是 6
想請教一下自己那邊的邏輯出了問題
感謝大家的幫忙!!
--
int calculate(int *j)
{
*j+=5
return *j;
}
void main()
{
int y=3;
y=y+calculate(&y);
}
請求出main()中語句y=y+calculate(&y)執行完後之y值
(1)運算元從左到右評估
(2)運算元從右到左評估
第一題--我的邏輯是calculate(&y)參數傳遞是傳址
所以運算完後的結果y的值會改變,從左到右評估的話是從左邊的運算元開始做
所以會變成 3+8=11
第二題照同邏輯的話是 8+8=16
我有上機執行這段程式碼 得到的答案是16
但參考書上的解答第一題答案是 8 第二題是 6
想請教一下自己那邊的邏輯出了問題
感謝大家的幫忙!!
--
Tags:
考試
All Comments
By Frederic
at 2018-03-04T17:35
at 2018-03-04T17:35
By Emma
at 2018-03-09T01:34
at 2018-03-09T01:34
By Ethan
at 2018-03-11T23:56
at 2018-03-11T23:56
By Ophelia
at 2018-03-13T21:17
at 2018-03-13T21:17
By Dinah
at 2018-03-18T12:25
at 2018-03-18T12:25
By James
at 2018-03-22T23:56
at 2018-03-22T23:56
By Kristin
at 2018-03-24T10:52
at 2018-03-24T10:52
By Candice
at 2018-03-25T10:36
at 2018-03-25T10:36
Related Posts
律師課程請教
By Kyle
at 2018-03-01T20:01
at 2018-03-01T20:01
中會複習方式與版本差異問題
By Thomas
at 2018-03-01T19:48
at 2018-03-01T19:48
106地特會計考題詢問
By Belly
at 2018-03-01T19:48
at 2018-03-01T19:48
106地特三等統計類組(台北區)
By Christine
at 2018-03-01T18:50
at 2018-03-01T18:50
審計學準備方式
By Sandy
at 2018-03-01T17:30
at 2018-03-01T17:30