int a b 1這樣定義為什麼是錯誤的

2021-10-07 19:11:02 字數 1865 閱讀 1100

1樓:匿名使用者

c語言中定義同一型別的多個變數必須以逗號分隔。如:

int a,b,c ;

=在c語言中是賦值運算子,等號左邊的變數,必須是已以定義好的變數才可以。

int a=b=1 ; 中,若b已經定義,則是正確的。否則,b未定義,這樣寫就錯了。如:

int b; //少了這個定義,下面就不對了。

int a=b=1 ;

如果想同時定義多個變數,並對變數初始化,則應該寫成:

int a=1, b=1; //中間以逗號分隔。

2樓:

還沒有定義b就對b進行賦值,編譯器由於不能確定b的地址而無法認識b。先定義後賦值就不會出現問題了。

3樓:匿名使用者

在定義時,是不能連續賦值的,你可以在隨後的語句中連續賦值,如 int a,b; a=b=1; 也可以int a=1,b=1;

4樓:柳青藤

因為機器是這樣翻譯的:先把1賦值給b,再把b賦值給a,中間的那個b,它認為是未定義的。

你可以這樣寫:int a,b;a=b=1;

5樓:匿名使用者

這樣只定義了a的型別為int

那麼b是什麼型別呢?編譯器不知道。既然型別都不知道怎麼可能把b的值賦給a呢?

可以這樣寫int a,b ;a=b=1;這樣就沒錯了。

#include

int main(void)

給你個例項,自己琢磨。

6樓:

//如果b前面已定義,這個可能是正確的。如下面這樣就是正確的:

int b;

int a=b=1;

以下定義語句中,錯誤的是 a、int a[]={1,2} b、char*a[3] c、char

7樓:匿名使用者

錯誤的是d,因為n是變數,不能用變數作為陣列定義時使用的大小。

8樓:煩s太多不明白

選d,陣列的長度不能用變數來賦值

有以下定義int a=0; double b=1.25; char c=’a’; #define d 2下語句中錯誤的是a)a++; b)b++ c)c++d d++

9樓:匿名使用者

d錯誤。

int,float,double和char都可以進行後自增操作,d是#define的常量,執行d++等價於

2++,常量不可以自增,是錯誤的。

10樓:匿名使用者

哥們。這是倆個執行結果

答案不一定是對的

#include

int a=0;

double b=1.25;

char c='a';

#define d 2

int main(int argc, char* ar**)

11樓:匿名使用者

答案是錯的哇,double和float型別能進行自加運算...那abc都是可以自增的,那個d就不行, #define d 2說明d代表了2,不能改變,要改變只能只定義的時候去改

12樓:

double和float型別不能進行自加運算...

13樓:

d是錯誤的!#define d 2說明的d=2是常數,在這個程式中是不能變更的!

14樓:胖胖丶不胖

是b啊~~

a++=1;

c++=‘b’;

d++=3;

b是double型別,不能自加

概率的定義是什麼,為什麼概率和是1而不是

概率是對隨機事件發生的可能性的度量,一般以乙個在0到1之間的實數表示乙個事件發生的可能性大小。越接近1,該事件更可能發生 越接近0,則該事件更不可能發生 概率和 每件事發生的概率相加 為 100 即 1 概率和是1,是根據數學推導而來的。不是他們說的感覺。參考 概率沉思錄 這本書。在第二章第一節就詳...

為什麼這樣?求分析,求解!為什麼解析是這樣的

其實也不一定另有別的意思,有的人就習慣留票根,尤其是跟心裡認為關係特殊的人第一次看電影當然希望留作紀念,我就喜歡這樣做。就是想著和他看過電影,不要忘了他 求解!為什麼解析是這樣的?電腦要求重啟。可能是機箱內的線路跳開了。如果你會連線跳線,可以試試。如果沒有試過,在反覆重啟後仍舊沒有好轉可以去修修。問...

指數函式中為什麼定義a0且a1啊還有對數也這樣

a 0是因為a若小於零,其影象就不是連續的,不是初等函式了,而且對我們來說意義不大。a不等於1是因為若等於1影象就是一條直線了。這兩種規定都是為了使我們研究的影象更有意義。有關對數函式的問題為什麼要求a 0且不等於1 y loga x a 0且a 1 簡單的,對數函式y loga x 是指數函式y ...