समस्या
संकलक सी प्रोग्रामिंग में पूर्णांक के बाद स्ट्रिंग नहीं पढ़ रहा है? हम इस समस्या का समाधान कैसे कर सकते हैं?
समाधान
जब आप एक पूर्णांक संख्या दर्ज करते हैं और अगला मान पढ़ने के लिए एंटर दबाते हैं, तो कंपाइलर स्ट्रिंग के पहले चार में शून्य को स्टोर करता है और स्ट्रिंग इनपुट समाप्त हो जाता है। क्योंकि जब भी यह एक अशक्त चरित्र पढ़ता है तो स्कैनफ समाप्त हो जाएगा।
इसे कैसे हल करें?
जब हम इंट या फ्लोट के बाद स्ट्रिंग या कैरेक्टर को पढ़ने की कोशिश कर रहे हैं, तो हमें एक अस्थायी चार पढ़ना चाहिए जो इनपुट बफर में मौजूद है।
निम्नलिखित त्रुटियों के बिना कार्यक्रम है -
उदाहरण
#include <stdio.h> struct student{ char name[10]; int roll; char temp; } s; int main(){ printf("Enter information of students:\n"); printf("\nEnter roll number: "); scanf("%d", &s.roll); scanf("%c",&s.temp); //read temporary character 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; }
आउटपुट
Enter information of students: Enter roll number: 3 Enter name: tutorialspoint Displaying Information of students: Roll number: 29806 name:tutorialspoint