0
A
回答
0
不,因爲#define
s在編譯時使用preprocessor插入代碼中。它們不能在運行時更改。您定義使用define
1
號
事情都是由預處理器以文字代替實際的編譯器甚至看到源代碼之前。
此外,常量不應該改變,這應該是相當明顯的關於你的想法的紅旗。
3
#define
ed值不是正常的const。它們由預處理器計算/轉換,所以在編譯時會丟失它們,並且在運行時肯定無法更改它們。
。注意,句法這種#define
是#define N 5
而非#define N;
2
預處理宏定義的擴展被設定時預處理階段運行,這是即使是散裝彙編之前。
因此,例如,如果你做#define N 5
,那麼N
將永遠是5
,從來沒有別的。
如果你做#define N my_global_integer
,那麼N
將永遠是my_global_integer
,從來沒有別的。
所以我想你可以這樣做:
#include <stdio.h>
#define N my_global_integer
int my_global_integer;
int main() {
scanf("%d", &N);
printf("%d\n", N);
}
的預處理宏N
是恆定的,但它最終擴展到變量不是。我通常不會建議,但如果這個問題是一個謎題,那麼這可能是答案。
相關問題
- 1. 要求輸入以定義變量
- 2. SSRS是否可以將用戶輸入合併到報告中?
- 3. 是否可以訪問cookie並且沒有在請求頭中發送它?
- 4. 檢測它是否是詞典,並且鍵可以從特定類型分配
- 5. 我可以要求用戶重新輸入命令行參數
- 6. DTD屬性是否可以固定並且是必需的?
- 7. 要求用戶輸入值,直到輸入整數
- 8. 編寫一個輸入驗證循環,要求用戶輸入「是」或「否」
- 9. 它是否可以鎖定?
- 10. msgbox以特定格式要求用戶輸入
- 11. 定製Wix UI以要求用戶輸入其IP地址
- 12. 如何根據預先定義的值檢查用戶輸入是否可以是整數或單詞?
- 13. 是否可以上傳文件而不要求用戶登錄?
- 14. 檢查用戶的輸入是否在範圍內並且是整數(Java)
- 15. 是否可以在編譯時檢查const值是否已知?
- 16. select2:是否可以傳遞自定義輸入並在方法中訪問
- 17. ListBox.SelectedIndexChanged - 您可以確定它是否是用戶啓動的?
- 18. Maven可以向用戶詢問值並將它們輸入到文件中?
- 19. 是否有意義定義const scope_refptr()?
- 20. psql要求輸入密碼並且不能從pgpass.conf中讀取
- 21. 有人可以說明如何使用const構造函數,並且在什麼情況下需要使用它?
- 22. 是否可以使用PHP同時更新屏幕並等待用戶輸入?
- 23. 是否可以恢復迭代器並且可以分配其值/狀態?
- 24. 用戶在輸入字段中單擊並且值消失
- 25. 是否可以禁用用戶輸入的UISearchController?
- 26. 詢問用戶是否需要輸入多個輸入
- 27. 檢查用戶輸入是否在某些數字之間並且不爲零
- 28. 谷歌是否在jQuery $ .get()調用中抓取url,並且可以防止它?
- 29. 是否可以預先定義函數參數的可用值?
- 30. 是否可以通過Web請求確定用戶時間?
「const value」是什麼意思?你真的只是在你的例子中定義了一個'#define'常量嗎?你的意思是任何編譯時常量?或者'const'值(即一個用'const'關鍵字限定的變量)會做什麼?如果是這樣,那麼:'const int N = get_user_input();'。 (但是,請注意,在C中,const限定的變量不是編譯時常量)。 – jamesdlin