ठीक है, इसलिए मैंने इस कार्यक्रम को लिखा
#include & lt; stdio.h & gt; / * गिनती शब्द * / मुख्य () {int c, c2; लंबी गणना = 0; जबकि ((सी = getchar ()) = EOF) {स्विच (सी) {केस '': मामले '\ n': केस '\ t': स्विच (सी 2) {case '': case '\ n': मामले '\ t': तोड़; डिफ़ॉल्ट: ++ गणना; }} सी 2 = सी; } Printf ("शब्द संख्या:% एलडी \ n", गिनती); } यह इनपुट से शब्दों की गणना करता है, जैसा कि आप देख सकते हैं इसलिए मैंने a-text नामक एक फाइल लिखी जो केवल
एक टेक्स्ट है और मैंने उबुन्टू प्रॉम्प्ट में लिखा
< कोड> ./ cw & lt; ए-टेक्स्ट और लिखा है
शब्द गणना: 2 तो, क्या हैक? यह सिर्फ 1 गिनती नहीं है, क्योंकि दूसरे शब्द के बाद कोई टैब नहीं है और न ही नई लाइन और न ही अंतरिक्ष, केवल ईओएफ। ऐसा क्यों होता है?
रिक्त स्थान के बजाय शब्द क्यों नहीं गिनती? तब आपके पास कोई समस्या नहीं है जब इनपुट को अंतरिक्ष के साथ समाप्त होता है।
#include & lt; ctype.h & gt; # शामिल करें & lt; stdio.h & gt; Int main (int argc, char ** argv) {int is_space = 1; Int c; Int count = 0; जबकि ((सी = getchar ())! = EOF) {count + =! Isspace (c) & amp; amp; was_space; Was_space = isspace (c); } Printf ("शब्द संख्या:% d \ n", गिनती); वापसी 0; }
No comments:
Post a Comment