Collected from Mujtaba Asif's Facebook wall . Carry on bro . Best of luck .
x এর মান 0 ধরলে,
x++ এর ক্ষেত্রে প্রথমে x=0 নিয়ে কাজ করবে এবং তারপর x=0+1=1 এবং
তারপর x=1+1=2 হবে এভাবেই এক করে মান বাড়তে থাকবে।
x-- এর ক্ষেত্রে প্রথমে x=0 নিয়ে কাজ করবে এবং তারপর x=0-1=-1 এবং
তারপর x=-1-1=-2 নিয়ে কাজ করবে। এভাবেই এক করে মান কমতে থাকবে।
আবার, ++x এর অর্থ হল, প্রথমে x=1+0=1 নিয়ে কাজ করবে।
তারপর x=1+1=2 নিয়ে কাজ করবে। এভাবেই এক করে বাড়বে।
--x এর অর্থ হল প্রথমেই x=-1+0=-1 নিয়ে কাজ করবে। তারপর
x=-1-1=-2 নিয়ে কাজ করবে। এভাবেই এক করে কমতে থাকবে।
কিন্তু কাজ করার বেলায় যদি এমন হয় যে, x++ ও আছে আবার
x-- ও আছে তখন আগে x++ এর কাজ হবে এবং তারপর x--।
যদি এখানে x++, x-- এবং x থাকে তাহলেও আগে x++ তারপর x-- এবং
তারপর x এর কাজ হবে। ++x, --x এর বেলায়ও একই রকম। আগে
++x এবং তারপর --x এর কাজ হবে।
কিন্তু যখন ++x এবং x++ অথবা, --x এবং x-- অথবা --x এবং x++ থাকে
তখন যেটা ডান দিকে থাকে সেটা আগে কাজ করে।
উদাহরন স্বরূপ, printf("%d %d",x++,++x); এর আউটপুট হবে, 1 2।
কারন প্রথমে ডান দিকে আছে ++x অর্থাৎ, x=0+1=1।
x এর মান 1 নিয়ে যাবে এখন x++ এর কাছে। যার ফলে x=1 প্রিন্ট হবে।
এখন x=1+1=2 মান নিয়ে ++x এ যাবে ফলে 2 প্রিন্ট হবে।
এবং printf("%d %d",++x,x++); এর আউটপুট হবে, 2 0 ।
এখানে ডান দিকে আছে x++। ফলে x=0 প্রিন্ট করে, x=0+1=1
নিয়ে ++x এর কাছে যাবে। ফলে ++x এর মান হবে x=1+1=2।
কিন্তু এবার আর x++ এর কাছে ফিরে যাবে না। ফলে x++ এর মান 0-ই থাকবে।
একই ভাবে, printf("%d %d",x--,--x); এর আউটপুট হবে, -1 -2
printf("%d %d",--x,x--); এর আউটপুট হবে -2 0
printf("%d %d",x++,--x); এর আউটপুট হবে -1 0
printf("%d %d",--x,x++); এর আউটপুট হবে 0 0
বিঃদ্রঃ বিভ্রান্তিমুলক তথ্য উপস্থাপন করে থাকলে সঠিক তথ্য দিয়ে সাহায্য করুন। :)
No comments:
Post a Comment