1. परिचय
C भाषा मा、संख्या र स्ट्रिङ्गको प्रदर्शन・इनपुटमा फर्म्याट स्पेसिफायरहरू प्रयोग गरिन्छ। विशेष गरी फ्लोटिंग पोइन्ट संख्याहरूलाई ह्यान्डल गर्दा、「%f」वा「%lf」जस्ता स्पेसिफायरहरूको भिन्नता बुझ्नु सही प्रोग्रामिङ गर्न महत्त्वपूर्ण छ। यस लेखमा、डबल प्रिसिजन फ्लोटिंग पोइन्ट(double प्रकार)सँग सम्बन्धित「%lf」को प्रयोगमा केन्द्रित हुँदै、printf
रscanf
फङ्क्शनहरूमा प्रयोग、अन्य स्पेसिफायरहरूसँगको भिन्नता बारे व्याख्या गरिन्छ।
2. फर्म्याट स्पेसिफायर भनेको
फर्म्याट स्पेसिफायर भनेको, C भाषा मा डेटा प्रदर्शन वा इनपुट ढाँचालाई निर्दिष्ट गर्न प्रयोग हुने चिन्ह हो। डेटा प्रकारसँग उपयुक्त स्पेसिफायर प्रयोग गरेर, सही डेटा इनपुट/आउटपुट सम्भव हुन्छ। पहिलो पटक प्रतिनिधि फर्म्याट स्पेसिफायर र तिनीहरूको सम्बन्धित डेटा प्रकार हेर्नुहोस्।
मुख्य फर्म्याट स्पेसिफायर र डेटा प्रकारको मिलान
फर्म्याट स्पेसिफायर | सम्बन्धित डेटा प्रकार |
---|---|
%d | int प्रकार(पूर्णांक) |
%f | float प्रकार(एकल-प्रेसिजन फ्लोटिंग पोइन्ट संख्या) |
%lf | double प्रकार(डबल-प्रेसिजन फ्लोटिंग पोइन्ट संख्या) |
%Lf | long double प्रकार(विस्तारित डबल-प्रेसिजन फ्लोटिंग पोइन्ट संख्या) |
3. printf कार्यमा 「%lf」 को प्रयोग
C भाषा को printf
कार्यलाई, निर्दिष्ट ढाँचामा डेटा देखाउन प्रयोग गरिन्छ।printf
कार्यमा दोहोरो-शुद्धता फ्लोटिङ बिन्दु संख्या देखाइन्छ, 「%f」 र 「%lf」 दुवै प्रयोग गर्न सकिन्छ, तर प्रत्येकको प्रयोगमा सानो भिन्नता हुन्छ।
printf मा 「%lf」 र 「%f」 को भिन्नता
printf
कार्यमा, %f
र %lf
दुवैलाई double
प्रकारको आउटपुटमा प्रयोग गर्न सकिन्छ। यो कारणले, printf
कार्यले फ्लोटिङ बिन्दु संख्या आउटपुट गर्दा, तर्कलाई स्वचालित रूपमा double
प्रकारमा उन्नत गर्छ। त्यसैले, दोहोरो-शुद्धता फ्लोटिङ बिन्दु संख्या को आउटपुटमा 「%f」 प्रयोग गर्नु सामान्य हो।
उदाहरण
#include <stdio.h>
int main() {
double num = 3.14159;
printf("%f
", num); // आउटपुट: 3.141590
printf("%lf
", num); // आउटपुट: 3.141590
return 0;
}
उपरोक्त उदाहरणमा, दुवै निर्दिष्टकर्ता समान परिणाम दिन्छन्, तर, printf
मा double
प्रकारको आउटपुटको लागि %f
प्रयोग गर्नु मानक हो।
4. scanf function मा “%lf” को प्रयोग
scanf
function ले इनपुट गरिएको डेटा निर्दिष्ट प्रकारको भेरिएबलमा संग्रह गर्न प्रयोग गरिन्छ।scanf
मा, निर्दिष्टकर्ता र भेरिएबलको डेटा प्रकार मिलाउनु महत्त्वपूर्ण छ, यहाँ %f
र %lf
को प्रयोग फरक गर्न आवश्यक हुन्छ।
scanf मा “%lf” र “%f” को भिन्नता
- 「%f」:
float
प्रकारको भेरिएबलमा इनपुट संग्रह गर्न प्रयोग गरिन्छ। - 「%lf」:
double
प्रकारको भेरिएबलमा इनपुट संग्रह गर्न प्रयोग गरिन्छ।double
प्रकारको भेरिएबलमा इनपुट प्राप्त गर्न भने, अनिवार्य रूपमा%lf
प्रयोग गर्नुहोस्।
उदाहरण
#include <stdio.h>
int main() {
double num;
printf("कृपया संख्या प्रविष्ट गर्नुहोस्: ");
scanf("%lf", &num); // उपयोगकर्ता इनपुटलाई double प्रकारको भेरिएबलमा भण्डारण गर्नुहोस्
printf("प्रविष्ट गरिएको संख्या: %f
", num);
return 0;
}
यसरी, scanf
function मा डबल प्रिसिजन फ्लोटिंग पोइन्ट नम्बर इनपुट गर्दा「%lf」 प्रयोग गर्न आवश्यक हुन्छ। गल्तीले「%f」 प्रयोग गरेमा, अनपेक्षित व्यवहार हुन सक्छ।
5. %lf प्रयोग गर्दा ध्यान दिनुपर्ने बुँदाहरू
%lf प्रयोग गर्दा, विशेष गरी scanf
कार्यमा निर्दिष्टकर्ता र चलको प्रकार मिलाउनु महत्त्वपूर्ण छ। असमानता भएमा, अनपेक्षित व्यवहार वा त्रुटि उत्पन्न हुन सक्छ।
सामान्य त्रुटिहरू र सही प्रयोग विधि
त्रुटिको उदाहरण
निम्न कोडमा, float
प्रकारको चलमा %lf
प्रयोग गरिएको छ, जसले सही कार्यको अपेक्षा गर्न सकिँदैन।
#include <stdio.h>
int main() {
float num;
printf("कृपया संख्या प्रविष्ट गर्नुहोस्: ");
scanf("%lf", &num); // अनुपयुक्त निर्दिष्टक
return 0;
}
सही कोड उदाहरण
निम्न उदाहरणमा, सही रूपमा double
प्रकारको चलमा %lf प्रयोग गरिएको छ।
#include <stdio.h>
int main() {
double num;
printf("कृपया संख्या प्रविष्ट गर्नुहोस्: ");
scanf("%lf", &num); // उपयुक्त निर्दिष्टकर्ता
return 0;
}
scanf
मा इनपुट गर्दा निर्दिष्टकर्ता र चलको प्रकार मिलाउन ध्यान दिनुहोस्।

6. अन्य फॉर्म्याट स्पेसिफायरहरूसँगको भिन्नता
「%lf」बाहेकका फॉर्म्याट स्पेसिफायरहरूलाई पनि बुझेर राख्दा, प्रयोग अनुसार तिनीहरूलाई सजिलै चयन गर्न सकिन्छ।
मुख्य फॉर्म्याट स्पेसिफायरहरू र प्रयोगहरू
%f
: float प्रकारको डेटा प्रयोग (printf
माdouble
प्रकार पनि सम्भव)%Lf
: long double प्रकारको डेटा प्रयोग%e
/%E
: वैज्ञानिक लेखन शैलीमा आउटपुट प्रयोग
उदाहरण प्रयोग र भिन्नताको व्याख्या
#include <stdio.h>
int main() {
long double num_long_double = 3.14159265358979323846L;
printf("long double प्रकारको आउटपुट: %Lf
", num_long_double); // long double निर्दिष्टकर्ता
printf("वैज्ञानिक संकेतनमा आउटपुट: %e
", num_long_double); // वैज्ञानिक संकेतनमा आउटपुट
return 0;
}
यसरी, डेटा प्रकार अनुसारको स्पेसिफायरलाई उपयुक्त रूपमा प्रयोग गर्दा, प्रदर्शन सामग्रीको शुद्धता सुधार हुन्छ।
7. सारांश
C भाषा मा दोहोरो-शुद्धता फ्लोटिङ पोइन्ट निर्दिष्टकर्ता “%lf” को बारेमा व्याख्या गर्यौं। तलका बुँदाहरूलाई समेटेमा, त्रुटि कम भएको कोडिङ सम्भव हुन्छ।
printf
function: दोहोरो-शुद्धता फ्लोटिङ पोइन्ट नम्बरका लागि “%f” वा “%lf” प्रयोग गर्न सकिन्छ। तर,printf
function सामान्यतया “%f” प्रयोग गर्छ।scanf
function:double
प्रकारको लागि “%lf” प्रयोग गर्नुहोस्,float
प्रकारको लागि “%f” प्रयोग गर्नुहोस्, र निर्दिष्टकर्ता र डेटा प्रकारको मिलान कायम राख्न आवश्यक छ।- ध्यान दिनुहोस्: यदि निर्दिष्टकर्ता सही छैन भने, विशेष गरी
scanf
मा, अनपेक्षित व्यवहार हुन सक्छ, त्यसैले प्रकार र निर्दिष्टकर्तालाई मिलाउन महत्त्वपूर्ण छ।