c語言可以實現這樣的操作嗎?如果不能,怎樣修改

時間 2022-11-25 00:48:08

1樓:匿名使用者

不能,陣列內定義的陣列數目一定要是常量。

但可以用malloc函式,函式呼叫是可以的。

比如你要申請int型的未知個數陣列。可以以下程式#include

#include

main()

2樓:天堂妹兒

不能,因為陣列的長度必須是一個常數,如果你想改變陣列長度,可以先設個全域性變數,然後再設一個比這個全域性變數小的值作為陣列的長度,例如:

先定義一個全域性變數n,作為陣列a的最大長度,這裡讓陣列a的最大長度為500

#define n 500

int a[n]; //定義陣列a

int n,k;

scanf("%d",&n); 這個n是你要輸入的陣列長度,n要小於n,否則是要溢位的

for(k=0;k

c語言的巨集定義能不能修改

3樓:匿名使用者

你定義了。在程式中是不能改變的。只能在定義的地方修改。程式在預處理期間進行值替換。

4樓:德眾

比如巨集定義在一開頭定義# define n 10,那麼接下來所有的n都是10,巨集定義一旦定下除非你修改**否則都無法修改巨集定義

5樓:成都中公優就業

巨集定義在程式內是不可改變的,只能在定義的地方只能在定義的地方修改。程式在預處理期間進行值替換。

舉例說明

#define n 20

這個就是巨集定義,當然可以修改,例如這個n代表輸入陣列個數,在主程式中void main()

就可以這樣用,在編譯時,程式會自動替換掉n為20,既你巨集定義的值;只會花費編譯時間。如果你想修改陣列大小隻需修改

#define n 30;

即可,當然識別符號n也可以修改。‍

6樓:暴風一號

當然可以修改!

例如:#define image_w 500就可以修改為

#define image_w 700

7樓:匿名使用者

巨集定義就是指在main函式之前讀一某些變數進行定義,便於在編寫時的使用,同時在修改的時候也會很方便的,你如說我把m定義成(x*x+3*x),在以後的使用中,我可以直接用m就行了,很方便的,而且如果修改的話不用全改,只需要在巨集定義那裡改了就行

8樓:匿名使用者

#define n 20

這個就是巨集定義,當然可以修改,

例如這個n代表輸入陣列個數,在主程式中

void main()

就可以這樣用,在編譯時,程式會自動替換掉n為20,既你巨集定義的值;只會花費編譯時間。如果你想修改陣列大小隻需修改

#define n 30;即可,當然識別符號n也可以修改。