Re: [語法] 呼叫函數
※ 引述《littleshan (我要加入劍道社!)》之銘言:
: 寫程式不要這樣縮排,很容易以為你的 printf 也是迴圈的一部份
: 一般的良好寫法是這樣:
: for(i = 0; i < 5; i++)
: lcga();
:
: printf("%d\n", Lcg_seed);
: : return 0;
: : }
了解,我會改進寫法
: [deleted]
: : 我仿書上把lcg_seed在全區宣告,但是不知道為什麼
: : 呼叫lcga,在lcga列印lcg_seed是 0;在main列印lcg_seed是12345不會變
: : 所以試著用 static ,結果可以,但是變得無法在main print....(紅色那行)
: 應該是其它地方寫錯了,請附上完整程式碼
怪了..剛去把static int lcg_seed 丟到全域 int lcg_seed去,又變得可以跑了
: 因為 int 一般來說大小為 32bit 儲存範圍是 -2147483648 ~ 2147483647
: 你的計算已經超過了它的範圍,當然會得到錯誤的結果
: C99 的標準有提供 64bit 的整數型別 int64_t
: 如果你的 compiler 有支援,這是最簡單的解決方法
有了有了!!感謝!!^^
忘了有溢位問題,Maple寫久了都忘了這件事(Maple會自動處理溢位問題)
: 它可能用了 64bit 整數
: 或是自己去處理大數運算
: : 是否直接用.txt寫好,存成.c 就可以用#include "lcga.c"呼叫了呢?
: : 感恩
: 不行,這不是正確用法。
: 正確的方法是把函式的宣告寫在 .h 內,函式的實作寫在 .c 內,
: 然後讓你的主程式去連結函式的實作
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.128.31
→
05/03 16:21, , 1F
05/03 16:21, 1F
※ 編輯: chrisjon 來自: 123.195.128.31 (05/04 02:58)
※ 編輯: chrisjon 來自: 123.195.128.31 (05/04 03:01)
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章