दिलचस्प पोस्ट
एक चर नाम के बाद एक अल्पविराम जोड़ने क्यों जोड़ता है यह एक tuple? रिकॉर्डों को खोजने के लिए एसक्यूएल क्वेरी जहां गिनती> 1 वर्तमान कॉल स्टैक को निर्धारित करना (निदान प्रयोजनों के लिए) क्या कॉफी स्क्रिप्ट का उपयोग करने के लिए कुछ नहीं लौटाया जा सकता है? संगीतकार चेतावनी: openssl एक्सटेंशन गुम है। WAMP में कैसे सक्षम करें डॉट (।) ऑपरेटर और -> सी ++ में अंतर क्या है? एक क्यूबिक बेजियर वक्र पर निकटतम बिंदु? एंड्रॉइड – ऑन बैकप्रेस () काम नहीं कर रहा है हेडर फाइलों में वैरिएबल घोषणा – स्थिर या नहीं? MySQL एकाधिक कॉलम का चयन करें क्या इन ऑब्जेक्ट्स के स्टैक या हीप पर संदर्भ हैं? एंड्रॉइड: स्क्रीन के लिए प्रसारण रिसीवर और स्क्रीन बंद एक HTML तालिका में कॉलम छिपाएं / दिखाएं जावास्क्रिप्ट में तारीख को टाइमस्टैम्प में कनवर्ट करें? एंड्रॉइड: डेटपिकर डिवाइडर का रंग कैसे बदल सकता है?

क्या 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 इनपुट की अगली पंक्ति नहीं पढ़ा जाएगा।