সি (প্রোগ্রামিং ল্যাঙ্গুয়েজ): ++ a এবং a = a + 1 এর মধ্যে পার্থক্য কী?


উত্তর 1:

এখানে কোন পার্থক্য নেই. সংজ্ঞা অনুসারে ++ a, a + = 1, এবং a = a + 1 হ'ল হ'ল এক্সপ্রেশন,

তিনটি ক্ষেত্রেই, অভিব্যক্তির ফলাফলটি সেই মানটির একটি অনুলিপি যা এটি "এ" তে লিখবে (একটি ++ অবশ্যই, ভিন্ন যে ফলাফলটি এটি "ক" থেকে পড়া মানের অনুলিপি হয়)

পার্থক্যটি হ'ল যদি "ক" আরও জটিল ভাব হয়, যেমন একটি ফাংশন কল, এটি "a = a + 1" এ দুবার ডাকা হবে, এবং সেই অনুকরণের প্রাধান্যটি ++ এর চেয়ে অনেক কম, সুতরাং ব্যবহার করে ++ এর পরিবর্তে অ্যাসাইনমেন্টের জন্য মাঝে মাঝে অতিরিক্ত বন্ধনী প্রয়োজন: ++ a + ++ b (a + = 1) + (b + = 1) বা (a = a + 1) + (b = b + 1) এর চেয়ে আরও সহজ


উত্তর 2:

++ a এবং a + 1 এর অনুরূপ তবে সমস্যাটি তখন ঘটে যখন আপনি একাধিক ভেরিয়েবল ব্যবহার করছিলেন।

উদাহরণ:

int a = 10, খ;

++ a => মান এক এক করে বৃদ্ধি করে (ও / পি: এ = ১১)

a ++ => মান এক করে বাড়িয়ে তোলে (ও / পি: এ = ১১))

b = a ++ => প্রথমে মান a কে এবং তারপরে 0ne (o / p: a = 11, b = 10) এর দ্বারা বৃদ্ধি করুন

b = ++ a => প্রথম মান a এর এক দ্বারা বৃদ্ধি করা হয় এবং তারপরে b (o / p: a = 11, b = 11) এর জন্য নির্ধারিত হয়


উত্তর 3:

++ a এবং a + 1 এর অনুরূপ তবে সমস্যাটি তখন ঘটে যখন আপনি একাধিক ভেরিয়েবল ব্যবহার করছিলেন।

উদাহরণ:

int a = 10, খ;

++ a => মান এক এক করে বৃদ্ধি করে (ও / পি: এ = ১১)

a ++ => মান এক করে বাড়িয়ে তোলে (ও / পি: এ = ১১))

b = a ++ => প্রথমে মান a কে এবং তারপরে 0ne (o / p: a = 11, b = 10) এর দ্বারা বৃদ্ধি করুন

b = ++ a => প্রথম মান a এর এক দ্বারা বৃদ্ধি করা হয় এবং তারপরে b (o / p: a = 11, b = 11) এর জন্য নির্ধারিত হয়


উত্তর 4:

++ a এবং a + 1 এর অনুরূপ তবে সমস্যাটি তখন ঘটে যখন আপনি একাধিক ভেরিয়েবল ব্যবহার করছিলেন।

উদাহরণ:

int a = 10, খ;

++ a => মান এক এক করে বৃদ্ধি করে (ও / পি: এ = ১১)

a ++ => মান এক করে বাড়িয়ে তোলে (ও / পি: এ = ১১))

b = a ++ => প্রথমে মান a কে এবং তারপরে 0ne (o / p: a = 11, b = 10) এর দ্বারা বৃদ্ধি করুন

b = ++ a => প্রথম মান a এর এক দ্বারা বৃদ্ধি করা হয় এবং তারপরে b (o / p: a = 11, b = 11) এর জন্য নির্ধারিত হয়


উত্তর 5:

++ a এবং a + 1 এর অনুরূপ তবে সমস্যাটি তখন ঘটে যখন আপনি একাধিক ভেরিয়েবল ব্যবহার করছিলেন।

উদাহরণ:

int a = 10, খ;

++ a => মান এক এক করে বৃদ্ধি করে (ও / পি: এ = ১১)

a ++ => মান এক করে বাড়িয়ে তোলে (ও / পি: এ = ১১))

b = a ++ => প্রথমে মান a কে এবং তারপরে 0ne (o / p: a = 11, b = 10) এর দ্বারা বৃদ্ধি করুন

b = ++ a => প্রথম মান a এর এক দ্বারা বৃদ্ধি করা হয় এবং তারপরে b (o / p: a = 11, b = 11) এর জন্য নির্ধারিত হয়