關於define N中N如何通過執行輸入賦值

2022-09-23 06:36:56 字數 3989 閱讀 1582

1樓:傾聽的你

#define n 出錯了。

因為#define是巨集定義,一般形式是:#define 巨集名 巨集體巨集名就是你自己選擇的符號常量(就是題中的n),巨集體是一個數。就是你想讓n代表幾。

所以你的巨集定義缺少巨集體,應改為 #define n 5(假設你想讓符號常量n表示5)

2樓:匿名使用者

不能這樣 你是不是想生成一個動態陣列 這樣不行的 我以前就試過

想要的話 看看calloc函式和malloc函式

3樓:匿名使用者

巨集定義不能在執行階段改變(它在編譯之前就已經確定了,此後就無法更改)在程式的執行過程動態決定陣列的長度可以這麼做:

#include

#include

main()

4樓:匿名使用者

#define巨集定義 類似文字替換

#definem 5#define n4給a【n】【n】賦值為1-n*n,分別求主副對角線之和

5樓:匿名使用者

主對角線和:30

輔對角線和:20

press any key to continue#include

#define n 4

void main()

for(i = 0; i < n; ++i)printf("主對角線和:%d\n",mainsum);

printf("輔對角線和:%d\n",minorsum);}

關於c++中a[n]的賦值問題

6樓:夜太美

時間過去這麼久了,估計題主也不需要了,我還是答一下方便後來人看吧。

memset是可以的

void* memset(void *_dst, int _val, size_t _size)

_dst是目標起始地址,_val是要賦的值,_size是要賦值的位元組數

我再說一種更簡單的,new就行啦

int x;

cin>>x;

int *a =new int[x];

for(int i=0;i

a[i]=0;

7樓:yy_神

如果要n是可變的,區域性變數做不到。必須要動態申請記憶體

如果你是初學,建議直接用固定的大數,比如 int a[1000]=;

8樓:

錯誤的原因是:陣列a的大小n需要是一個常數,而不是變數。

應該用:

define n 10

int a[n] = ; // 這一句沒有錯

9樓:射手小小王

memset(a,n,0x00)

10樓:畢設指導

int [n] a;

for(int i=0;i<n;i++)

#define n 5和int n=5有什麼區別?

11樓:匿名使用者

#define n 5  :n在函式裡一直等於5,是常量.

int n=5  :n是變數,在函式裡可以重新賦值。

#define是巨集定義的意思

巨集定義是用巨集名來表示一個字串,在巨集時又以該字串取代巨集名,這只是一種簡單的代換,字串中可以含任何字元,可以是常數,也可以是表示式,預處理程式對它不作任何檢查。如有錯誤,只能在編譯已被巨集後的源程式時發現。

巨集定義不是說明或語句,在行末不必加分號,如加上分號則連分號也一起置換。

巨集定義其作用域為巨集定義命令起到源程式結束。如要終止其作用域可使用#undef命令。

12樓:一頁凌風

#define n 5是巨集定義,在編譯時候完成,實現簡單替換,遇到n就變成5

int n=5 是變數初始化。在程式執行時完成,實現對變數的初始化工作,其值可以改變。

13樓:匿名使用者

前者是巨集定義,是常量,一般都是資料比較複雜時用,如#define n 3.141592,以後3.141592就可以用n代替,後者n是變數,可以進行各種運算,如n=n++後,n=6

14樓:

#define是預處理命令中的巨集定義

作用是在編譯程式之前把原始碼中所有的n都替換為5,這個只是單純的替換

而int則是整型變數的宣告

15樓:豐梓杉

#define n 5是一個巨集定義,編譯程式將巨集定義的內容認為是字串,沒有任何實際的物理意義,而只做替代,即將5替換n;int n=5表示整型變數的初始化,即將整數5賦給n;前者的n替換為5是固定不變的,後者的n在程式中可變。

16樓:匿名使用者

#define n 5 :n在函式裡一直等於5.

而int n=5 :n是變數,在函式裡可以重新賦值。

17樓:

#define n 5只是簡單的替換

和int n=5

區別在於int n=5 帶有型別檢查

18樓:很想知道

前一個是巨集定義,在那以後n都是5 第二中n是可以改變的

19樓:紅山人

綜合以上的回答.朋友.

在c語言中為什麼執行過 #define n 2 #define m n+1 #define num (m+1)*m/2以後,num的值是8而不是6

20樓:御含靈

巨集只是字串替代一樣的,沒有計算過程

所以#define num (m+1)*m/2後num是(2+1+1)*2+1/2

要得到你想要的結果 把後面的m括起來,所以巨集裡面要儘量加多點括號#define num (m+1)*(m)/2現在在c++還有一種處理就是用inline函式或者const常量

21樓:匿名使用者

#difine 只是巨集定義中的單純的替換 num = (m+1)*m/2 = (n + 1 +1)*n + 1/2 用n=2去運算 就是8了。

22樓:失落間諜

巨集定義 是將其代入進去的

所以· 你的num就成了·(2+1+1)*2+1/2=8

23樓:

n開始等於2,然後m=n+1,所以m=3,(m+1)*m=4*3=12,所以num+(m+1)*m/2=6啊,為什麼要等於8呢?

c語言中#define n 3是什麼意思

24樓:

前面兩行是標頭檔案。

#define n 3 是巨集定義,define是定義的意思,這句的意思是把n的值定義為3。

在程式中後面出現的所有n的值都為3。

fp=fopen("stud","wb");是檔案操作。fp是指標變數;fopen()是函式,用來開啟檔案;stud是檔名;wb是開啟或建立一個二進位制檔案、只允許寫資料。這句的意思是開啟名為stud的檔案,並用二進位制寫入資料。

25樓:天雲一號

#define n 3 這是c語言中的一個巨集定義,使n=3

c語言中的巨集定義很重要,使用巨集定義可以防止出錯,提高可移植性,可讀性,方便性等。

c語言中巨集定義是在程式編譯時,通過直接替換的,將程式中所有的n都替換為3。

26樓:百里秀花世嬋

是巨集定義

可以類似的作為函式使用,例如:

進行y=f(5)

的引用,y的內容為15

27樓:匿名使用者

定義n =3

開啟檔案以二進位制形式

28樓:1刃

1.定義n的值為3

2.以2進位制開啟stud

請教 關於N2吸附測定中的問題

1 有介孔分佈不一定很明顯,還要看孔容等,tem上看不出來的話,有可能就是你的空過大,你試著縮小下倍數看看。2 吸附脫附不重合的現象遇到了很多,解釋方法也多種多樣,我這裡綜合下做儀器的和做測試的之後,一般歸結為以下幾點 首先,脫氣處理不夠,可能溫度不夠,最主要的是脫氣時間和脫氣的真空度問題,其次,儀...

Excel中如何通過函式引用查詢到所需要的值,並顯示出來。如下圖中所示,要在D1中顯示1 021505,怎麼弄

是不是隻在一列數中查詢其中的一個數?只用簡單的條件函式即可,在d1輸入 if b1 1.021505,1.021505,0 然後下拉填充複製公式 查詢所需值的判斷條件都不給出來,怎麼寫公式猜你是想通過判斷a列和c列的值找到對應b列的值d1公式 max if a a dtu 201 c c 2012 ...

如何在Excel中通過VBA快速查詢多列重複的值

vba查詢重複bai值一般du 使用字典物件zhi,例子 set db createobject scripting.dictionary arr range a1 d10 需要檢dao查的區回域for i 1 to ubound arr for j 1 to ubound arr,2 if db....