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

時間 2021-10-14 23:01:41

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型別,不能自加

為什麼明明知道這樣做是錯的,卻還是要一直錯下去呢

對個人來講,知道錯了,還繼續錯下去,就是死要面子活受罪,知錯不改,等鑄成大錯,就沒有後悔的機會。這是自作自受。 花開64288附寡 吸菸者明知道吸菸有害健康依然不改,豪飲者明知醉酒難受依然如此,我們自己明明知道很多時候都在浪費生命為什麼改不了?習慣和秉性都在影響著我們,而且有時錯比對更有 力。只要不...

C 中,char f,這樣定義是什麼意思,為什麼加號

貝景明斂妝 char f表示的是指向一個字元的指標,也就是說,實際上f中儲存的是一個記憶體地址,這個記憶體地址中裝了一個字元。為什麼要定義char 而不是直接用 呢?這是因為我們需要知道這個f中的記憶體地址裝的是什麼,這樣c 才知道我需要讀多少個記憶體單元,比如說int 佔用的空間是4個位元組,而c...

1 什麼是電壓,如何定義的,什麼是電壓的大小,如何定義的,電

緱寧泣嬋 電壓的概念 水在管中所以能流動,是因為有著高水位和低水位之間的差別而產生的一種壓力,水才能從高處流向低處。城市中使用的自來水,所以能夠一開啟水門,就能從管中流出來,也是因為自來水的貯水塔比地面高,或者是由於用水泵推動水產生壓力差的緣故。電也是如此,電流所以能夠在導線中流動,也是因為在電流中...