के अपने कोड की समीक्षा करें:
#include <stdio.h>
अब तक तो अच्छा ...
main()
{
main()
समारोह हमेशा एक int
देता है। हमेशा।
- घोषणा कार्यों वापसी के बिना प्रकार खराब फार्म है,
int
के लिए यह रूप में चूक, लेकिन लोगों को इस आसान जब पढ़ने कोड याद नहीं है।
चलती पर ...
long nc;
nc = 0;
अच्छा प्रपत्र। वैरिएबल का उपयोग करने से पहले शुरू किया जाता है।
while (getchar() != EOF)
++nc;
यह थोड़ा जटिल है। लेकिन एक समय में एक कदम।
getchar
समारोह एक int
मानक इनपुट से वापस आती है।
- उस मान की तुलना
EOF
से की जाती है।
- तो मानक इनपुट से
int
मूल्य नहीं EOF
है, चर nc
वृद्धि की जाती है।
तो while
लूप से बाहर निकलने के लिए, मानक इनपुट से एक ईओएफ उत्पन्न किया जाना चाहिए।
नोट: मूल्यों मानक इनपुट से पढ़ने से कोई भी बचाया हैं। अभिव्यक्ति का मूल्यांकन करने के बाद प्रत्येक मान को त्याग दिया जाता है।
स्टाइल: मैं प्रत्येक while
कथन के बाद '{' और '}' का उपयोग करने का सुझाव देता हूं। यह सुरक्षित आदत में आने के लिए है।
printf("%ld\n", nc);
ऊपर बयान प्रिंट कर रहा है (प्रदर्शित) nc
में मूल्य। nc
में मान मानक इनपुट से पढ़ने वाले वर्णों की संख्या का प्रतिनिधित्व करता है। यह कथन मानक इनपुट से किसी भी वर्ण प्रदर्शित करता है।
}
अन्त में, main
कार्यक्रम ऑपरेटिंग सिस्टम के लिए एक मान लौटाना चाहिए। दो पोर्टेबल मान EXIT_SUCCESS
और EXIT_FAILURE
हैं, जिन्हें stdlib.h
में परिभाषित किया गया है। इन मूल्यों में से एक को निर्दिष्ट करना भी एक अच्छी आदत होगी।
बीटीडब्ल्यू, आपके द्वारा पोस्ट किए गए उदाहरण में कोई putchar
नहीं है (जिसे मैंने इस उत्तर में कॉपी किया है)।
स्रोत
2010-02-03 00:59:29
उम्म ... इस कोड में कोई पुचर() नहीं है। – SoapBox
क्या आप 'putchar()' के बारे में बात कर रहे हैं? – mob
मुझे लगता है कि आपने के एंड आर से गलत कार्यक्रम पोस्ट किया है! –