2012-07-24 26 views
6

Bunu yaparken: sayımı = ++ saymak; Değişken sayımına atama etkisi yoktur - Neden ben uyarı alıyorum? Bu sayı artırılır ve daha sonra kendisi veya başka bir şeye atandığını belirtir? Sadece ++ sayımı ile aynı mı? Sayımda ne olur = count ++; ? Neden bunun için uyarı alamıyorum?Değişken ataması etkisiz mi?

cevap

13

count++ ve ++count, count=count+1 için kısadır. Ödev yerleşik olarak yerleştirildi, böylece tekrar atamaya gerek yok. count++ arasındaki fark ++count satırın geri kalan önce olacaktır ve count++ satırın geri kalan sonra olacağını (ayrıca öneki olarak da bilinir) ve ++count (aynı zamanda uzantısına olarak bilir). Eğer ayrı count=count++ almak olsaydı

, bununla sona ereceğini: postfix size bir uyarı vermeyecektir neden

count = count; 
    count = count+1; 

Şimdi görebilirsiniz: şey aslında sonunda değiştiriliyor. Eğer ayrı count=++count alırsak

, bununla sona ereceğini:

count = count+1; 
    count = count; 

Gördüğünüz gibi, Kodun ikinci satırı işe yaramaz ve derleyici sizi uyarıyor yüzden.

+0

Ben aynı değil, kısa belirtildi. – LastStar007

+1

Sağ - Benim (ifade tarafından döndürülen değere kastederek) o yorumunu yaptığında cevap daha kısa sürdü konum. Burada büyük bir açıklama yaptınız +1 –

+0

neden count = count ++ örneğindeki ilk satır için bir uyarı yapmıyor? çünkü bu hiçbir şey yapmıyor. – Thomas

3

temelde yazıyoruz yukarı deyimi Breaking:

++count; 
count = count; 

sen = saymak görebileceğiniz gibi sayım şey, dolayısıyla uyarıyı yapar.

3

++ operatörü aşağıdaki count = count + 1 için bir kısa yoldur. count = ++count numaralı hattınızı kırıyorsak, count = count+1 = count

3

'a yanıt verirsek, biraz genişletmek için, count ++ öğesi bir düzeltmedir. Bir 0 olur

int a = 0, b = 0; 
a = b++; 

gibi bir şey b Ancak 1. olacağını yaptım eğer öyleyse diğer operasyonlar sonrasında gerçekleşir ++ sayımı sen

int a = 0, b = 0; 
a = ++b; 

sonra a ve b yaptıysam öneki sadece

count++; 

veya

++count; 
yaparsanız hem 1. olurdu

sonra farketmez, ama başka bir şey ile birleştirerek eğer, o

İlgili konular