समस्या
सी भाषा में स्कैनफ () फ़ंक्शन का उपयोग करके स्ट्रिंग और संख्यात्मक डेटा पढ़ते समय सामान्य त्रुटि हुई
समाधान
स्कैनफ () फ़ंक्शन सी भाषा में स्टड से स्वरूपित इनपुट को पढ़ने के लिए प्रयोग किया जाता है। यह इसमें लिखे गए वर्णों की पूरी संख्या लौटाता है अन्यथा, ऋणात्मक मान देता है।
आम तौर पर उपयोगकर्ता से पूर्णांक के बाद स्ट्रिंग मानों को पढ़ते समय स्कैनफ () फ़ंक्शन के मामले में, हमें लगातार त्रुटियां मिलती हैं।
उदाहरण
निम्नलिखित एक सी प्रोग्राम है जो रोल नंबर (पूर्णांक मान) और एक छात्र का नाम पढ़ता है -
#include <stdio.h> struct student { char name[10]; int roll; } s; int main(){ printf("Enter information of students:\n"); printf("\nEnter roll number: "); scanf("%d", &s.roll); printf("\nEnter name: "); gets(s.name); printf("\nDisplaying Information of students:\n"); printf("\nRoll number: %d\t", s.roll); printf("\nname:%s\t", s.name); return 0; }
आउटपुट
उपरोक्त उदाहरण में, रोल नंबर:कंपाइलर द्वारा पढ़ा गया था, उसके बाद कंपाइलर नाम पढ़ने में सक्षम नहीं है और अगले स्टेटमेंट पर चला जाता है जो कि प्रिंटफ ("रोल नंबर है:% d \ t, s.roll);
and the output is "Roll number: 3 name: "
सी भाषा में स्कैनफ () फ़ंक्शन का उपयोग करके स्ट्रिंग और संख्यात्मक डेटा पढ़ते समय यह सामान्य त्रुटि हुई है।
Enter information of students: Enter roll number: 3 Enter name: //error Displaying Information of students: Roll number: 3 name: //error