我很難理解這個問題的答案。在編譯時檢查完整類型
給下面的代碼:
int: size, size2, j;
float: x;
array[1:30] of int: nums;
對於下面的每個賦值語句,循環能或不能說是否能或不能完全在編譯時類型檢查。假設一個數組的下標範圍被認爲是它的類型的一部分。假定數字溢出不被視爲類型錯誤。
A. size = size2 + 1; --> Answer: CAN
B. x = size; --> Answer: CAN
C. nums[j] = 33; --> Answer: CANNOT
D. nums[3] = nums[4]; --> Answer: CAN
E. nums[j] = nums[j+1]--> Answer: CANNOT
現在,編譯程序被轉換成機器代碼的程序的執行期間發生的運行時間錯誤,其中當發生時間錯誤。我還閱讀了關於編譯與運行時錯誤的以下堆棧溢出問題:Runtime vs Compile time。在研究了這兩個主題之後,我仍然對如何得出以下答案感到困惑。任何幫助將非常感激。