C (پروگرامنگ لینگویج):: ++ a اور a = a + 1 میں کیا فرق ہے؟


جواب 1:

کوئی فرق نہیں ہے۔ ++ a ، a + = 1 ، اور a = a + 1 بالکل اسی طرح کے تاثرات ہیں ، تعریف کے لحاظ سے (مطلب ، زبان کی زبان ان کی اس طرح وضاحت کرتی ہے)۔

ان تینوں ہی صورتوں میں ، اظہار رائے کا نتیجہ اس قدر کی ایک کاپی ہے جو اسے "a" میں لکھے گی (a ++ ، در حقیقت ، اس سے مختلف ہے کہ نتیجہ اس قدر کی ایک کاپی ہے جسے اس نے "a" سے پڑھا ہے)

فرق صرف اتنا ہے کہ اگر "a" زیادہ پیچیدہ اظہار ہے ، جیسے فنکشن کال ، اسے "a = a + 1" میں دو بار کہا جائے گا ، اور اس کام کی ترجیح ++ کے مقابلے میں بہت کم ہے ، لہذا استعمال کرنا ++ کی بجائے تفویض میں بعض اوقات اضافی قوسین کی ضرورت ہوتی ہے: ++ a + ++ b لکھنا آسان ہے (a + = 1) + (b + = 1) یا (a = a + 1) + (b = b + 1)


جواب 2:

++ a اور a + 1 ایک جیسے ہی ہوتے ہیں لیکن مسئلہ اس وقت پیش آتا ہے جب آپ ایک سے زیادہ متغیر استعمال کرتے تھے۔

مثال:

int a = 10، b؛

++ a => ایک ایک کرکے قیمت میں اضافہ (o / p: a = 11)

a ++ => ایک ایک کرکے قیمت میں اضافہ (o / p: a = 11))

b = a ++ => پہلے ایک کو ویلیو a کو تفویض کریں اور پھر 0ne (o / p: a = 11، b = 10) کے ذریعہ انکریمنٹ۔

b = ++ a => پہلی قدر a میں ایک اضافہ ہوتا ہے اور پھر اسے ب (o / p: a = 11 ، b = 11) تفویض کیا جاتا ہے


جواب 3:

++ a اور a + 1 ایک جیسے ہی ہوتے ہیں لیکن مسئلہ اس وقت پیش آتا ہے جب آپ ایک سے زیادہ متغیر استعمال کرتے تھے۔

مثال:

int a = 10، b؛

++ a => ایک ایک کرکے قیمت میں اضافہ (o / p: a = 11)

a ++ => ایک ایک کرکے قیمت میں اضافہ (o / p: a = 11))

b = a ++ => پہلے ایک کو ویلیو a کو تفویض کریں اور پھر 0ne (o / p: a = 11، b = 10) کے ذریعہ انکریمنٹ۔

b = ++ a => پہلی قدر a میں ایک اضافہ ہوتا ہے اور پھر اسے ب (o / p: a = 11 ، b = 11) تفویض کیا جاتا ہے


جواب 4:

++ a اور a + 1 ایک جیسے ہی ہوتے ہیں لیکن مسئلہ اس وقت پیش آتا ہے جب آپ ایک سے زیادہ متغیر استعمال کرتے تھے۔

مثال:

int a = 10، b؛

++ a => ایک ایک کرکے قیمت میں اضافہ (o / p: a = 11)

a ++ => ایک ایک کرکے قیمت میں اضافہ (o / p: a = 11))

b = a ++ => پہلے ایک کو ویلیو a کو تفویض کریں اور پھر 0ne (o / p: a = 11، b = 10) کے ذریعہ انکریمنٹ۔

b = ++ a => پہلی قدر a میں ایک اضافہ ہوتا ہے اور پھر اسے ب (o / p: a = 11 ، b = 11) تفویض کیا جاتا ہے


جواب 5:

++ a اور a + 1 ایک جیسے ہی ہوتے ہیں لیکن مسئلہ اس وقت پیش آتا ہے جب آپ ایک سے زیادہ متغیر استعمال کرتے تھے۔

مثال:

int a = 10، b؛

++ a => ایک ایک کرکے قیمت میں اضافہ (o / p: a = 11)

a ++ => ایک ایک کرکے قیمت میں اضافہ (o / p: a = 11))

b = a ++ => پہلے ایک کو ویلیو a کو تفویض کریں اور پھر 0ne (o / p: a = 11، b = 10) کے ذریعہ انکریمنٹ۔

b = ++ a => پہلی قدر a میں ایک اضافہ ہوتا ہے اور پھر اسے ب (o / p: a = 11 ، b = 11) تفویض کیا جاتا ہے