% c खाली स्थान के चार को छोड़ नहीं होगा सांख्यिक फ़ॉर्मेट विनिर्देशक करते हैं। तो अगर आप का उपयोग करें:
#include<stdio.h>
int main(int argc, char* argv[]){
char c;
scanf("%c", &c);
printf("%c\n", c);
scanf("%c", &c); // Try running with and without space
printf("%c\n", c);
return 0;
}
यह बहुत संभव है कि इनपुट बफर में पिछले खाली स्थान के चरित्र दूसरा scanf में ले जाया जाएगा, और आप टाइप करने के लिए एक मौका नहीं मिलेगा है। % c से पहले की जगह स्कैनफ को इनपुट बफर में जो भी व्हाइटस्पेस वर्ण है, उसे छोड़ देगा ताकि आप अपना इनपुट सही तरीके से दर्ज कर सकें। कभी कभी पाने के लिए एक ही प्रभाव लोगों लिखें:
fflush(stdin);
scanf("%c" &c);
लेकिन यह बहुत बुरा प्रोग्रामिंग माना जाता है सी स्टैंडर्ड fflush के व्यवहार (stdin) निर्दिष्ट के रूप में अनिर्धारित रहता है। इसलिए प्रारूप स्ट्रिंग में हमेशा स्पेस का उपयोग करें जब तक कि आपके पास व्हाइटसाइट्स को अच्छी तरह से कैप्चर करने का कोई विशिष्ट कारण न हो।
http://linux.die.net/man/3/scanf, http://www.manpagez.com/man/3/scanf/, http://unixhelp.ed.ac.uk/CGI/ मैन-सीजीआई? स्कैनफ + 3, जीआईवाईएफ – sehe