दिलचस्प पोस्ट
ArrayList और पार्सलेबल गतिविधि को पार करने में सहायता मैं एक "दूसरी प्रक्रिया द्वारा उपयोग" अपवाद प्राप्त करने पर भी एक फाइल कैसे पढ़ सकता / सकती हूं? पैनल फ़ोकस नहीं हो रहा है सामग्री सुरक्षा नीति कैसे काम करती है? क्या एचटीएमएल 5 कस्टम डेटा आईटी 6 में "काम" करता है? लिनक्स के लिए सी ++ आईडीई? jquery चेक एक बटन के साथ सभी चेकबॉक्स को अनचेक करें $ (document) .ready (function () {}); पृष्ठ के निचले भाग में बनाम स्क्रिप्ट रिलेशनल डेटाबेस में प्रमुख मूल्य जोड़े कैसे एक बास चर से व्हाइटस्पेस ट्रिम करने के लिए? कैसे लहजे को हटा दें और अक्षरों को "सादे" ASCII वर्णों में बदलें? ओपनजीएल ES में टेक्स्ट को ड्रा करें एल्गोरिथ्म का पता लगाने के लिए दो आयतों के प्रतिच्छेदन? लिनक्स पर्यावरण चर नामों में अनुमत वर्ण यूआरएल स्ट्रिंग से मापदंड कैसे प्राप्त करें?

क्या scanf () पिछले scanf () से इनपुट बचे हुए के रूप में '\ n' लेता है?

निम्न सी कोड में:

char name[20]; int a; int b; for(i=0;i<10;i++) { printf("\nEnter name, a & b: "); scanf("%s %d %d",name,&a,&b); } 

scanf को scanf() के अंत में दर्ज किए गए '\n' में दूसरे पुनरावृत्ति के लिए, दूसरे पुनरावृत्ति इनपुट के लिए पढ़ता है?

वेब के समाधान से एकत्रित समाधान "क्या scanf () पिछले scanf () से इनपुट बचे हुए के रूप में '\ n' लेता है?"

scanf इनपुट स्ट्रीम को इंगित करता है \n आपके मामले में यह कोई फर्क नहीं पड़ता है: प्रत्येक बार इसे कहा जाता है, scanf आगे बढ़ेगा जब तक कि इसे अगले गैर-व्हाट्सपेस वर्ण न मिले। इसलिए इसे 10 name, a, b के name, a, b क्योंकि इनपुट आपकी अपेक्षा के अनुसार काम करेगा।

लेकिन इस पर विचार करें:

 scanf("%d", &a); fgets(str, 20, stdin); 

fgets तब तक पढ़ता है जब तक कि यह पहली नयी पंक्ति को पाता है, इसलिए str को \n का मान मिल जाएगा, और fgets इनपुट की अगली पंक्ति नहीं पढ़ा जाएगा।