[問題] 在函數內改變陣列的值

看板C_and_CPP (C/C++)作者 (清澈不見底)時間16年前 (2009/12/27 22:44), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 在函數內,宣告一陣列後,無法改變陣列的值: Analog O test.c #include <stdio.h> void Volt_out(float64 datap) { float64 data[1]; data[0]=datap; //經測試,加了這行就編不過 } 程式跑出的錯誤結果也出了問題,顯示好幾行語法錯誤或沒加";" 但實際檢查後都沒有 但奇怪的是,將程式碼改成: #include <stdio.h> void Volt_out(float64 datap) { float64 data[]={datap}; } 就編過了 一開始寫的兩行與後來改成的一行應該結果會一樣,會什麼會有不同的結果? 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) VC++,Windows 有問題的code: (請善用置底文標色功能) http://paste.plurk.com/show/117518/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.73.19

12/27 22:45, , 1F
float64似乎與double一樣
12/27 22:45, 1F

12/27 22:55, , 2F
試試看把所有的assignment都放到變數宣告之後
12/27 22:55, 2F

12/27 22:56, , 3F
就是data宣告後,在errBuff的下一行才做assignment
12/27 22:56, 3F

12/27 23:05, , 4F
謝謝樓上,我明天到實驗室會試試看
12/27 23:05, 4F

12/27 23:06, , 5F
看到你的回文才想到C要一開始將變數都宣告完
12/27 23:06, 5F

12/27 23:07, , 6F
但C++就不用
12/27 23:07, 6F

12/27 23:12, , 7F
C99就不用....
12/27 23:12, 7F
文章代碼(AID): #1BDtB5yz (C_and_CPP)
文章代碼(AID): #1BDtB5yz (C_and_CPP)