ফর্ম্যাট স্পেসিফায়ার হিসাবে ব্যবহৃত হয় %d
এবং এর মধ্যে পার্থক্য কী ?%i
printf
ফর্ম্যাট স্পেসিফায়ার হিসাবে ব্যবহৃত হয় %d
এবং এর মধ্যে পার্থক্য কী ?%i
printf
উত্তর:
তারা একই সঙ্গে যেমন আউটপুট জন্য ব্যবহৃত হয় printf
।
যাইহোক, ইনপুট স্পেসিফার হিসাবে ব্যবহৃত হয় যেমন উদাহরণস্বরূপ scanf
, যেখানে %d
একটি সংখ্যার দশমিক সংখ্যা হিসাবে কোনও পূর্ণসংখ্যার স্ক্যান করে তবে %i
দশমিকের ডিফল্ট হয় তবে হেক্সাডেসিমেল (পূর্বে যদি থাকে 0x
) এবং অষ্টাল (যদি আগে থাকে তবে)0
।
সুতরাং 033
27 সহ %i
33 হবে তবে 33 হবে %d
।
এগুলির জন্য অভিন্ন printf
তবে ভিন্ন scanf
। জন্য printf
, উভয় %d
এবং %i
একটি স্বাক্ষরিত দশমিক পূর্ণসংখ্যা নামকরণ। জন্য scanf
, %d
এবং %i
এছাড়াও একটি স্বাক্ষরিত পূর্ণসংখ্যা কিন্তু এর মানে হল %i
inteprets একটি হেক্সাডেসিমেল সংখ্যা হিসাবে ইনপুট যদি পূর্বে 0x
এবং অকট্যাল যদি পূর্বে 0
এবং অন্যথায় দশমিক হিসেবে ইনপুট ব্যাখ্যা করে।
এর জন্য %i
এবং %d
বিন্যাসের স্পেসিফায়ারগুলির মধ্যে কোনও পার্থক্য নেই printf
। আমরা খসড়া সি 99 স্ট্যান্ডার্ড বিভাগে গিয়ে দেখতে পাচ্ছি 7.19.6.1
এফপ্রিন্টফ ফাংশন যা printf
ফর্ম্যাট স্পেসিফায়ারদের সাথে সম্মত হয় এবং এটি অনুচ্ছেদ 8 এ বলে :
রূপান্তর সুনির্দিষ্ট এবং এর অর্থ হ'ল:
এবং নিম্নলিখিত বুলেট অন্তর্ভুক্ত:
d,i The int argument is converted to signed decimal in the style [−]dddd. The precision specifies the minimum number of digits to appear; if the value being converted can be represented in fewer digits, it is expanded with leading zeros. The default precision is 1. The result of converting a zero value with a precision of zero is no characters.
অন্যদিকে scanf
পার্থক্য রয়েছে, %d
বেস 10 ধরে নিন এবং %i
অটো বেসটি সনাক্ত করে। আমরা বিভাগে গিয়ে এটি দেখতে পারি 7.19.6.2
fscanf ফাংশন যা scanf
ফর্ম্যাট স্পেসিফায়ারের সাথে সম্মত হয়েছে, অনুচ্ছেদে 12 অনুচ্ছেদে বলা হয়েছে:
রূপান্তর সুনির্দিষ্ট এবং এর অর্থ হ'ল:
এবং নিম্নলিখিতগুলি অন্তর্ভুক্ত করে:
d Matches an optionally signed decimal integer, whose format is the same as expected for the subject sequence of the strtol function with the value 10 for the base argument. The corresponding argument shall be a pointer to signed integer. i Matches an optionally signed integer, whose format is the same as expected for the subject sequence of the strtol function with the value 0 for the base argument. The corresponding argument shall be a pointer to signed integer.
কোনটি নেই printf
- দুই প্রতিশব্দের হয়।
scanf()
স্বীকৃত উত্তর হিসাবে ফর্ম্যাট স্ট্রিং ব্যবহার করার সময় একটি পার্থক্য রয়েছে ।