2015-01-15 68 views
-4

我試着像我可以將相同的值賦給C中的多個變量嗎?

int a=b=3; 

但是編譯器說:'b' undeclared

請幫忙,謝謝。

+0

我敢打賭,編譯器是正確的,'b'沒有聲明。然後宣佈它。此外,在這種情況下,它只被分配給'b' - 變量'a'不被**分配,它被初始化。 – 2015-01-15 15:46:18

+2

'int a,b,c; a = b = c = 3;' – HolyBlackCat 2015-01-15 15:48:26

+0

如果它表示它是未聲明的,則聲明它。 – saadtaame 2015-01-15 15:50:33

回答

1

您可以使用,聲明變量首先在單行中

int a, b, c, ... , last; 

然後你可以分配給它們全部在一次

a = b = c = ... = last = 3; 

注意

int a = b = 3; 

這相當於

int a = (b = 3); 

將宣佈a,並用結果b = 3,這反過來將指派3b,初始化它是UNDECLARED

+0

謝謝,現在它清晰 – Sumon 2015-01-15 16:03:27

1

不,你不能這樣做,因爲編譯器把該值3b應分配和b是未申報

你可以做

int b; 

int a=b=3;