- 1 1. परिचय
- 2 2. Not equal 「!=」 के हो?【मूलभूत व्याख्या】
- 3 3. !=ऑपरेटरको मूलभूत प्रयोग【नमूना कोड सहित】
- 4 4. प्रायः प्रयोग हुने व्यावहारिक उदाहरणहरू
- 5 5. सामान्य त्रुटिहरू र त्रुटिको कारणहरू
- 6 6. अपरेटरको प्राथमिकता र कोष्ठकको आवश्यकता
- 7 7. अन्य तुलना अपरेटरहरू बीचको भिन्नता
- 8 8. C भाषा बाहेकको भिन्नता【भाषा बीचको तुलना】
- 9 9. सारांश: != को अर्थ र सही प्रयोगलाई पुनः जाँच
- 10 10. अक्सर सोधिने प्रश्न(FAQ)
- 10.1 Q1. != र == को भिन्नता सरल रूपमा बताउनुहोस्।
- 10.2 Q2. != प्रयोग गरिरहे पनि, सर्त सही रूपमा मूल्याङ्कन नहुनुको कारण के हो?
- 10.3 Q3. VBA वा SQL मा != प्रयोग गर्न सकिँदैन?
- 10.4 Q4. != प्रयोग गरेर सर्त अभिव्यक्तिमा बहु तुलना राख्दा ध्यान दिनुपर्ने कुरा के?
- 10.5 Q5. != प्रयोग नगरी समान अर्थको सर्त लेख्न सकिन्छ?
- 10.6 Q6. 「!=」 सधैं सुरक्षित रूपमा प्रयोग गर्न सकिन्छ?
1. परिचय
प्रोग्रामिङ भाषा C भाषा सिक्न सुरु गरेका धेरैले पहिलो पटक सामना गर्ने बाधा मध्ये एक हो, “तुलनात्मक अपरेटर” को बुझाइ। विशेष गरी “!=” चिन्ह, अर्थात्नोट इकोल अपरेटरले, शुरुआतीहरूले पहिलो पटक “यो के अर्थ हो?” भन्ने प्रश्न उठाउने सम्भावना धेरै हुने संरचना मध्ये एक हो।
यो “!=” हो, दुई मानहरू फरक छन् कि छैनन् तुलना गर्नको लागि अपरेटर हो। केवल “फरक छ कि छैन” निर्धारण गर्ने हो, तर लेखन त्रुटि वा अर्थको भ्रम सजिलै उत्पन्न हुन्छ, जसले त्रुटिको कारण बन्न सक्छ।
यस लेखमा, “C भाषा नोट इकोल” भन्ने कुञ्जीशब्दलाई केन्द्र बनाएर,
- 「!=」 अपरेटरको अर्थ
- उपयोगको आधारभूत र व्यवहारिक उदाहरणहरू
- अक्सर हुने त्रुटि र गल्तीहरू
- अन्य अपरेटरहरूसँगको भिन्नता
जस्ता बुँदाहरूलाई विस्तृत रूपमा व्याख्या गर्नेछौं।
C भाषाको आधारलाई दृढतापूर्वक बलियो बनाउँदा, भविष्यको प्रोग्रामिङमा बुझाइको गहिराइ र बगहरूबाट बच्न मद्दत हुन्छ। कृपया यो लेखलाई सन्दर्भको रूपमा प्रयोग गरी, “!=” को प्रयोग तरिका मास्टर गर्नुहोस्।
2. Not equal 「!=」 के हो?【मूलभूत व्याख्या】
Not equal भनेको के हो?
C भाषा मा 「!=」 ले、「बराबर नभएको (not equal)」 भन्ने अर्थ हुन्छ、दुई मानहरू बराबर छैनन्(भिन्न छन्) कि छैनन् जाँच गर्ने तुलना अपरेटर हो। यदि दायाँ-बायाँको मानहरू भिन्न भए, यो अपरेटर「साँचो(true)」 फिर्ता गर्छ, बराबर भए「झूठो(false)」 फिर्ता गर्छ।
उदाहरणका लागि तलको जस्तो कोड छ:
if (a != b) {
printf("a र b भिन्न छन्。
");
}
यस अवस्थामा, चल a
र b
को मानहरू भिन्न भए, if (a != b)
को सर्त साँचो(true) बनिन्छ, र printf
को कथन कार्यान्वयन हुन्छ।
「!=」 र 「==」 को भिन्नता
भ्रमित हुन सजिलो भाग「==」 सँगको भिन्नता हो।
==
topic markerसमान छन् कि छैनन् जाँच गर्नुहोस्!=
विषय सूचक कणयो बराबर छैन कि छैन जाँच गर्नुहोस्
उदाहरणका लागि if (x == 10)
ले「x 10 बराबर छ」 भन्ने अवस्थामा प्रक्रिया चलाउँछ, तर
if (x != 10)
ले「x 10 बराबर छैन」 भन्ने अवस्थामा प्रक्रिया चलाउँछ।
प्रोग्रामिङमा, सर्त「बराबर भएको अवस्थामा」 र「बराबर नहुनु भएको अवस्थामा」 दुबैलाई उपयुक्त रूपमा प्रयोग गर्न आवश्यक छ, जसले प्रक्रिया प्रवाहलाई लचिलो रूपमा नियन्त्रण गर्न मद्दत गर्छ।
अन्य भाषासँगको लेखन शैलीको भिन्नता
「!=」 चिन्ह C भाषा बाहेक पनि व्यापक रूपमा प्रयोग हुन्छ, तर सबै भाषामा समान छैन। उदाहरणका लागि:
भाषा | बराबर नभएको चिन्ह |
---|---|
C/C++ | != |
Java | != |
Python | != |
VBA(Visual Basic) | <> |
SQL | <> (कुनै केही DB मा) != यो पनि स्वीकार्य छ) |
यसरी, भाषाअनुसार चिन्हहरू फरक हुन सक्छ, त्यसैले बहुभाषी विकास गर्दा विशेष ध्यान आवश्यक हुन्छ।
3. !=ऑपरेटरको मूलभूत प्रयोग【नमूना कोड सहित】
if कथनमा मूलभूत प्रयोग उदाहरण
C भाषा मा 「!=」 प्रयोग गर्ने सबैभन्दा मूलभूत स्थिति भनेको、if
वाक्य द्वारा सर्त विभाजन हो। तल जस्तै लेखेर, दुई मानहरू फरक भएमा मात्र प्रक्रिया कार्यान्वयन गर्न सकिन्छ。
#include <stdio.h>
int main() {
int a = 5;
int b = 3;
if (a != b) {
printf("a र b भिन्न मानहरू छन्。\n");
}
return 0;
}
यो कोडमा, चल a
को मान 5, चल b
को मान 3 छ, र दुवै फरक भएकाले, if (a != b)
को सर्त सत्य(true)हुनछ, printf
को वाक्य कार्यान्वयन हुन्छ।
else वाक्यसँगको संयोजन
「!=」 लाई, else
वाक्यसँग संयोजन गर्दा, सर्त मिल्छ कि मिल्दैन भन्ने आधारमा प्रक्रिया विभाजन सजिलै गर्न सकिन्छ।
if (x != 10) {
printf("x 10 होइन。
");
} else {
printf("x 10 हो。
");
}
यसरी गर्दा, मान 10 बाट फरक भएको अवस्थामा र बराबर भएको अवस्थामा, प्रत्येकमा फरक सन्देश देखाउन सकिन्छ।
नमूना: प्रयोगकर्ता इनपुटमा आधारित विभाजन
तलको उदाहरणमा, प्रयोगकर्ताको इनपुट विशेष मानसँग फरक छ कि छैन भन्ने आधारमा विभाजन गरिन्छ।
#include <stdio.h>
int main() {
int input;
printf("कृपया संख्या प्रविष्ट गर्नुहोस्: ");
scanf("%d", &input);
if (input != 100) {
printf("प्रविष्ट मान 100 होइन。\n");
} else {
printf("प्रविष्ट मान 100 हो。\n");
}
return 0;
}
यो कोडमा, प्रयोगकर्ताको इनपुट मान 100 नभएमा सन्देश देखाइन्छ।!= अपरेटरको प्रभावलाई प्रत्यक्ष अनुभव गर्न, यस प्रकारको अन्तरक्रियात्मक नमूना उपयोगी हुन्छ।
== सँगको भिन्नता चित्रात्मक रूपमा बुझ्नुहोस्
सर्त अभिव्यक्ति ==
हुँदा र !=
हुँदा, सत्य/असत्यको मूल्यांकन पूर्ण रूपमा उल्टो हुन्छ। तल देखाइएका भिन्नताहरू छन्:
शर्तीय अभिव्यक्ति | मूल्याङ्कन परिणाम | अर्थ |
---|---|---|
a == b | true | a र b बराबर छन् |
a != b | true | a र b बराबर छैनन् |
“बराबर” हो या “बराबर छैन” हो, दुवै सामान्य रूपमा प्रयोग हुने सर्तहरू हुन्।कुन अपरेटर उपयुक्त छ भन्ने कुरा कार्यक्रमको उद्देश्य अनुसार चयन गर्न आवश्यक छ।
4. प्रायः प्रयोग हुने व्यावहारिक उदाहरणहरू
「!=(नोट इकोल)」 अपरेटर केवल साधारण सर्त शाखा मात्र होइन, पुनरावृत्ति प्रक्रिया वा व्यावहारिक त्रुटि जाँच जस्ता विभिन्न परिस्थितिहरूमा प्रयोग हुन्छ। यहाँ हामी प्रतिनिधि प्रयोग ढाँचाहरू प्रस्तुत गर्दै, != अपरेटरको व्यावहारिक प्रयोगलाई व्याख्या गर्नेछौं।
while कथनसँगको संयोजन: पुनरावृत्ति प्रक्रियाको समाप्ति सर्तमा प्रयोग
!=
विशिष्ट सर्त पूरा नहुनु सम्म दोहोर्याउने प्रक्रियामा अत्यन्त उपयोगी हुन्छ। तल यसको एउटा उदाहरण छ।
#include <stdio.h>
int main() {
char c;
printf("q टाइप गर्योस्सम्म लूप चलाउँछ。
");
while (c != 'q') {
printf("कृपया अक्षर प्रविष्ट गर्नुहोस्:");
scanf(" %c", &c);
}
printf("समाप्त हुन्छ。
");
return 0;
}
यो कोडमा, प्रयोगकर्ता “q” इनपुट गर्ने सम्म लूप जारी रहन्छ। यहाँ “!=” सर्तको रूपमा प्रयोग गरिएको छ, “c ‘q’ नभएको बेला प्रक्रिया जारी राख्नु” भन्ने अर्थ हुन्छ।
for कथनको प्रयोग: नियन्त्रण चरसँग तुलना
for
वाक्यभित्र पनि, विशिष्ट समाप्ति सर्तको रूपमा “!=” प्रयोग हुन सक्छ। उदाहरणको रूपमा, 0 बाहेकको मान भएका एरे तत्वहरूको सङ्ख्या गन्ने केस हेर्नुहोस्।
#include <stdio.h>
int main() {
int data[] = {1, 2, 3, 0, 4, 5};
int count = 0;
for (int i = 0; data[i] != 0; i++) {
count++;
}
printf("0 आउँदासम्म %d वटा डेटा छन्。
", count);
return 0;
}
यसरी, विशिष्ट “समाप्ति सर्त” मा पुगुन्जेल लूप गर्ने प्रक्रिया मा, “!=” अत्यन्त सहज र प्रयोगमैत्री सर्त अपरेटर बनिन्छ।
व्यावहारिक अनुप्रयोग: त्रुटि निर्धारण र मिलान जाँच
व्यावसायिक अनुप्रयोगहरू र प्रणाली सम्बन्धी प्रोग्रामहरूमा, प्रक्रिया सफल/असफल, प्रयोगकर्ता इनपुटको सुसंगतता आदि निर्धारण गर्ने अवस्थामा “!=” प्रायः प्रयोग हुन्छ।
#define SUCCESS 0
int status = someFunction();
if (status != SUCCESS) {
fprintf(stderr, "प्रक्रिया असफल भयो(कोड: %d)\n", status);
}
यसरी, “सफल नहुनुमा त्रुटि प्रक्रिया गर्ने” कोड, मजबुत प्रोग्राम निर्माण गर्ने आधारभूत ढाँचा हो।
फ्ल्याग वा स्थितिचरहरूसँग तुलना गर्न पनि उपयोगी
उदाहरणका लागि, स्थितिलाई दर्शाउने चल mode
विशेष मान नभएमा प्रक्रिया परिवर्तन गर्ने अवस्थामा पनि “!=” प्रयोग गरिन्छ।
if (mode != MODE_ACTIVE) {
deactivateComponent();
}
मुख्य बुँदाहरूको सारांश
- != ले ‘सधैँ विपरीत शर्त विभाजन’ स्पष्ट रूपमा व्यक्त गर्न सक्छ।
- पुनरावृत्ति प्रक्रियामा समाप्ति शर्तहरू र त्रुटि प्रक्रियाहरू प्रायः देखिन्छन्
- स्थिति निर्धारण र विशिष्ट शर्तहरूमा बलियो
5. सामान्य त्रुटिहरू र त्रुटिको कारणहरू
C भाषा मा 「!= (नट इकोल)」 प्रयोग गर्दा, लेखन आफैँ सरल छ, तरशुरूवात गर्नेहरूदेखि उन्नत प्रयोगकर्तासम्म सजिलै पर्न सक्ने त्रुटिहरूकेही छन्। यहाँ, != अपरेटरसँग सम्बन्धित प्रतिनिधि त्रुटिहरू र तिनीहरूको समाधान विधिहरू प्रस्तुत गरिन्छ।
「=」「==」「!=」को भ्रम
C भाषामा अपरिचित व्यक्तिहरूले सबैभन्दा धेरै गर्ने कुरा, तलको जस्तैप्रतीकको प्रयोग त्रुटिहो:
=
यो असाइनमेन्ट अपरेटर हो (भेरिएबलमा मान सेट गर्ने)==
हो बराबरी अपरेटर (समान छ कि छैन जाँच)!=
हो न-समता अपरेटर (समान नभएको जाँच गर्दछ)
उदाहरणको रूपमा, तलको कोडगलत लेखनहो:
if (x = 5) {
// अनजानेमा यो सधैं सत्य हुन्छ
}
यो कोडमा「x मा 5 असाइन」गरिएको छ,if
को शर्त अभिव्यक्ति सधैं「true」हुन्छ।सही तरिकाले तलको जस्तै लेखिनु पर्छ:
if (x == 5) {
// x 5 हुँदा मात्र प्रक्रिया चलाउनुहोस्
}
थप रूपमा,「!=」र「==」को प्रयोग फरक नबुझी, इच्छित भन्दा उल्टो प्रक्रिया चल्ने केसहरू पनि हुन्छन्। शर्त अभिव्यक्तिको अर्थ राम्ररी बुझेर प्रयोग गर्नु महत्त्वपूर्ण छ।

if कथनभित्र असाइनमेन्ट समावेश गर्ने
तलको जस्तै, शर्त वाक्यमा「=」प्रयोग गरेर,अनिच्छित व्यवहारउत्पन्न गर्ने उदाहरणहरू पनि प्रायः हुन्छन्:
if (flag = 0) {
printf("यो प्रक्रिया कार्यान्वयन गरिने छैन。
");
}
यस अवस्थामा,flag
मा 0 असाइन गरिदैछ,if
कथनको मूल्यांकन सधैं「false」हुन्छ। त्रुटि रोक्नका लागि:
- उद्देश्यपूर्ण असाइनमेन्ट पहिले नै गरिन्छ।
- शर्तीय अभिव्यक्तिमा ‘==’ वा ‘!=’ प्रयोग गर्नुहोस्।
- कोड समीक्षा र स्थिर विश्लेषण उपकरणहरू प्रयोग गरेर जाँच गर्नुहोस्.
जस्ता बानीहरू अपनाउँदा राम्रो हुन्छ।
शर्त अभिव्यक्तिको जटिलताले हुने नदेखी
तलको जस्तै जटिल शर्त अभिव्यक्तिहरू पनि सामान्य त्रुटिको कारण हुन्:
if (a != b && b = c) {
// शर्तको केही भाग असाइनमेन्टमा परिणत भएकोले बगको कारण हो।
}
यस अवस्थामा,「b = c」असाइन हो, अपेक्षित तुलना होइन।यस्ता त्रुटिहरू टार्नका लागि、अपरेटरको प्रयोगमा ध्यान दिने मात्र होइन, कोष्ठक प्रयोग गरेर अभिव्यक्तिलाई व्यवस्थित गर्नेमहत्वपूर्ण छ।
त्रुटि हुँदा समाधान बिन्दुहरू
- त्रुटि सन्देशलाई ध्यानपूर्वक पढ्नुहोस्।
- यदि “expected ‘==’ but found ‘=’” जस्ता सन्देश देखिन्छ भने, यो सम्भवतः असाइनमेन्ट र तुलना बीचको भ्रमको सङ्केत हो।
- शर्त अभिव्यक्तिको सामग्रीलाई टिप्पणीमा स्पष्ट रूपमा उल्लेख गर्नुहोस्.
- उद्देश्यलाई वाक्यमा लेखेर राख्दा, पछि हेर्दा निर्णयमा त्रुटि घटाउन सकिन्छ।
- चलको प्रारम्भिक अवस्था जाँच गर्नुहोस्.
- अप्रारम्भित चलसँग तुलना गर्दा अनपेक्षित व्यवहार हुन सक्छ।
✅सारांश:मूलभूत पालना गर्दा रोक्न सकिने त्रुटिहरू धेरै छन्
「!=」उपयोगी तुलना अपरेटर हो, तर、अन्य अपरेटरहरूसँगको भ्रमरवाक्यरचना त्रुटिले बग उत्पन्न हुन सक्छ।
यी त्रुटिहरूलाई, कोडलाई बिस्तारै लेखेर, अर्थलाई राम्ररी बुझेर निश्चित रूपमा घटाउन सकिन्छ।
6. अपरेटरको प्राथमिकता र कोष्ठकको आवश्यकता
C भाषा मा, धेरै अपरेटरहरूलाई संयोजन गरेर अभिव्यक्ति लेख्ने कुरा सामान्य छ। त्यस समयमा ध्यान दिनुपर्ने कुरा「अपरेटरको प्राथमिकता(precedence)」र「संयोजन नियम(associativity)」 हो। यदि यीलाई सही रूपमा बुझ्नुभएन भने, 「!=」 प्रयोग गरेर बनाएको सर्त अभिव्यक्तिअनपेक्षित परिणाम फिर्ता गर्न सक्छ सम्भावना छ।
तुलनात्मक अपरेटरको प्राथमिकता
तलको सूची C भाषामा प्रतिनिधि अपरेटरहरूको प्राथमिकता(उच्च → कम)लाई सरल बनाएको हो:
प्राथमिकता क्रम | ऑपरेटर | अर्थ |
---|---|---|
उच्च | * / % | गुणा, भाग र शेषफल अपरेटर |
+ - | जोड-घटाउने अपरेटर | |
< > <= >= | आकार तुलना | |
== != | समतुल्य/असमतुल्य तुलना | |
निम्न | && | AND (तर्कसंगत संयोजन) |
|| | OR (तार्किक OR) |
यहाँ ध्यान दिनुपर्ने कुरा भनेको、「!=」 तर्कसंगत अपरेटर(&&、||)भन्दा उच्च प्राथमिकता राख्छ भन्ने बुँदा हो।
यदि यो गुणलाई नबुझिएमा, तलको जस्तो अभिव्यक्तिअनिच्छित मूल्यांकन क्रममा प्रक्रिया हुन सक्छ।
प्राथमिकता बुझ्नमा गल्तीको उदाहरण
if (a != b && c == d) {
// जसरी इरादा छ: a र b भिन्न छन्, र c र d बराबर छन् भने
}
यो पहिलो नज़रमा सही देखिन्छ, तर जटिल सर्त अभिव्यक्तिमा तुरुन्तै पढ्न सजिलोपन घट्छ, र मूल्यांकन क्रम बुझ्न कठिन हुन्छ। तलको जस्तो अवस्थामा विशेष ध्यान आवश्यक छ।
if (a != b || c == d && e != f)
यो अभिव्यक्ति, प्राथमिकता नियम अनुसार तलको जस्तो व्याख्या हुन्छ:
if (a != b || (c == d && e != f))
अर्थात् 「a != b」 सत्य भएमा, पछिको सर्त मूल्यांकन हुँदैन र true
बनिन्छ।यदि यो उद्देश्यसँग असंगत भएमा, गम्भीर बगमा परिणत हुन सक्छ।
कोष्ठक प्रयोग गरेर स्पष्ट रूपमा नियन्त्रण गर्ने
उपरोक्त जस्ता समस्याहरूलाई रोक्नको लागि、कोष्ठक प्रयोग गरेर प्राथमिकता स्पष्ट रूपमा निर्दिष्ट गर्ने राम्रो बानी हो।
if ((a != b) && (c == d)) {
// स्पष्ट उद्देश्य स्पष्ट रूपमा बुझिन्छ
}
यसरी गर्दा, केवल तपाईं मात्र होइन, अरूले पढ्दा पनि अर्थको गलत बुझाइको जोखिम घट्छ, र कोडको मर्मतयोग्यता र पढ्न सजिलोपन उल्लेखनीय रूपमा बढ्छ।
「!=」 को एक्लै प्रयोगको गल्तीको उदाहरण र कोष्ठकको प्रभाव
तलको जस्तो कोड शुरुआतीहरूमा सामान्य गल्ती हो।
if (a != b + 1 && c)
योलाई a
र (b + 1)
को तुलना बनाउने हो कि, वा (a != b) + 1
बनाउने हो भन्ने निर्णय गर्न कठिन हुन्छ।
यस्ता अवस्थामा पनि कोष्ठक प्रयोग गरेर स्पष्ट बनाउन सकिन्छ:
if ((a != (b + 1)) && c)
व्यावहारिक सिफारिस
- यदि सर्त अभिव्यक्ति ३ वा त्यसभन्दा बढी घटकहरू हुन्छ भनेसधैं कोष्ठक प्रयोग गर्नुहोस्
!=
यदि तुलना गर्ने वस्तु जटिल अभिव्यक्ति हो भने,अस्थायी भेरिएबलमा विभाजन गरेर लेख्नुहोस्- तपाईंलाई कसरी मूल्याङ्कन गरिनेछ भन्नेमा अनिश्चित भएमापरीक्षण कोड लेख्नुहोस्
7. अन्य तुलना अपरेटरहरू बीचको भिन्नता
C Gengoमा、「!=(Notto Ikooru)」बाहेक पनि केहीतुलना अपरेटरहरू छन्। यी सबै शर्त अभिव्यक्तिमा प्रयोग गरिन्छ, र प्रोग्रामको शाखा र लूप प्रक्रिया कार्यान्वयनमा अनिवार्य तत्वहरू हुन्। यस अध्यायमा, 「!=」 र अन्य तुलना अपरेटरहरूको भिन्नता तथा प्रयोग बिन्दुहरूलाई व्याख्या गर्नेछौं।
C Gengoको मुख्य तुलना अपरेटर सूची
ऑपरेटर | अर्थ | उपयोग उदाहरण | परिणाम |
---|---|---|---|
== | समान | a == b | a र b बराबर हुँदा true |
!= | बराबर छैन | a != b | a र b भिन्न हुँदा true |
< | भन्दा सानो | a < b | a b भन्दा कम हुँदा true |
> | भन्दा ठूलो | a > b | a b भन्दा ठूलो हुँदा सत्य |
<= | निम्न | a <= b | a b भन्दा कम वा बराबर हुँदा true |
>= | उपरोक्त | a >= b | a b भन्दा ठूलो वा बराबर हुँदा true |
「!=」 र 「==」 को सम्बन्ध
「!=」 सँग सबैभन्दा तुलना हुने 「==(Ikooru)」 हो।
==
topic markerसमान छन् कि छैनन् जाँच गर्नुहोस्!=
कोसमान छैन कि छैन भनेर जाँच गर्नुहोस्।
यी दुईवटा तर्कसंगत रूपमा एकअर्काको पूरक हुन्, र शर्त अनुसार कुन प्रयोग गर्ने निर्णय गरिन्छ। उदाहरणका लागि:
if (x == 0) {
// x 0 हुँदा चलाउनुहोस्
}
if (x != 0) {
// x 0 नभएमा चलाउनुहोस्
}
कुन शर्त सेट गर्ने भन्ने कुरा, 「कुन समयमा प्रक्रिया गर्न चाहनुहुन्छ」 द्वारा निर्धारण हुन्छ।
संख्यात्मक आकार तुलना गर्ने अपरेटरसँगको भिन्नता
「!=」 एकमान भिन्न छ कि छैन भनी सोध्ने अपरेटर हो, ठूलो/सानो जस्ता संख्यात्मक सम्बन्धलाई विचार गर्दैन। अर्कोतिर, <
र >
संख्यात्मक क्रम मूल्याङ्कन गर्न प्रयोग गरिन्छ।
उदाहरण:
if (score != 100) {
// पूर्ण अंक नभएको अवस्थामा
}
if (score < 100) {
// पूर्ण अंकभन्दा कम भएको अवस्थामा (≠ जस्तै देखिन्छ तर अर्थ फरक हुन्छ)
}
यसरी, 「भिन्न」 र 「सानो・ठूलो」 भनेका समान देखिन तर भिन्न अवधारणा हुन्, उद्देश्य अनुसार चयन गर्न आवश्यक छ।
प्रायः हुने चयन त्रुटि र त्यसको समाधान
उदाहरणका लागि, तलको जस्तो केसमा अपरेटरको चयन गल्ति भएमा व्यवहार धेरै फरक हुन्छ:
// त्रुटि
if (age != 18) {
printf("तपाईं अल्पवयस्क हुनुहुन्छ।\n");
}
// सही सम्भावना
if (age < 18) {
printf("तपाईं अल्पवयस्क हुनुहुन्छ।\n");
}
यस उदाहरणमा, 「18 वर्ष भन्दा कम」 जाँच गर्न चाहनुहुन्छ भने !=
को सट्टा <
प्रयोग गर्नुपर्छ।!= 18
ले 「18 वर्ष बाहेक सबै」 लाई संकेत गर्छ।
समिश्र शर्तहरूमा प्रयोग र मिश्रणको सावधानी
शर्तहरू जटिल भएमा, तुलना अपरेटरहरूको संयोजन आवश्यक हुन्छ। उदाहरण:
if (score >= 60 && score != 100) {
printf("परीक्षा उत्तीर्ण भए तापनि पूर्ण अंक छैन。
");
}
यसरी, 「पूरा त छैन तर केही हदसम्म सन्तुष्ट」 जस्ता स्थितिमा, 「!=」 लाई नकारात्मक शर्तलाई लचिलो रूपमा व्यक्त गर्ने उपाय को रूपमा प्रभावकारी रूपमा प्रयोग गर्न सकिन्छ।
8. C भाषा बाहेकको भिन्नता【भाषा बीचको तुलना】
C भाषाको “!=(नट इकोल)” अपरेटर धेरै अन्य प्रोग्रामिङ भाषाहरूमा पनि अपनाइएको छ, तर भाषा अनुसारविभिन्न लेखन विधि वा व्यवहारहरू पनि छन्। बहुभाषी वातावरणमा विकास गर्ने अवस्थामा वा अन्य भाषाबाट C भाषा सिक्न सुरु गर्ने व्यक्तिहरूका लागि, यो भिन्नता बुझ्नु महत्त्वपूर्ण छ।
प्रत्येक भाषामा「नट इकोल」लेखन विधिको भिन्नता
भाषा | ≠ को संकेत | टिप्पणी |
---|---|---|
C / C++ | != | मानक लेखन |
Java / C# | != | C भाषा जस्तै |
Python | != | पहिले<> यो पनि प्रयोग गर्न सकिन्छ (हालसम्म सिफारिस गरिएको छैन) |
JavaScript | != / !== | सख्त तुलना गर्दा!== उपयोग गर्नु |
Ruby | != / !~ | !~ रेगुलर एक्सप्रेशनमा नकारात्मक मिलानको लागि |
Swift | != | त्यस्तै लेखन |
Visual Basic | <> | पूर्ण रूपमा फरक चिन्हहरू प्रयोग गर्नुहोस् |
SQL | <> वा != | डेटाबेस अनुसार प्रतिक्रिया फरक हुन्छ |
यसरी,अधिकांश आधुनिक भाषाहरूमा!=
सामान्य छ, तर VBA र SQL मा<>
प्रयोग गर्ने भिन्नता भएकोले, अन्य भाषाको अनुभव भएका व्यक्तिहरूलाई यो बिचलन सहजै उत्पन्न हुन सक्छ।
JavaScript मा != र !== को भिन्नता
JavaScript मा,!=
लेप्रकार रूपान्तरणसहितको तुलना गर्दछ, र विभिन्न प्रकार भए पनि मान बराबर भए true फिर्ता गर्छ। अर्कोतर्फ !==
लेप्रकार र मान दुव मिल्दैन भने मात्र true फिर्ता गर्ने, अझ कडा तुलना हो।
5 != '5' // false: प्रकार फरक भए पनि मान एउटै भएकाले false
5 !== '5' // true : प्रकार फरक भएकाले true
यस प्रकारको प्रकार रूपान्तरणको विशिष्टता C भाषामा अस्तित्वमा छैन, त्यसैले JavaScript अनुभव भएका व्यक्तिहरूले C भाषामा सर्नुहुँदा सावधानी आवश्यक छ।
Python को != र अप्रचलित <>
Python मा,!=
वर्तमान मानक नट इकोल अपरेटर हो। तर, पुरानो संस्करण (Python 2) मा<>
पनि प्रयोग गर्न सकिन्थ्यो। Python 3 पछि<>
समर्थन छैन, त्यसैले अहिले केवल!=
प्रयोग गर्नु नै सही हो।
Visual Basic र SQL को <> लेखन विधि
Visual Basic(VBA) र SQL मा, नट इकोललाई<>
द्वारा व्यक्त गरिन्छ। उदाहरणका लागि:
If x <> y Then
MsgBox "x र y भिन्न छन्"
End If
यो C भाषासँग लेखन फरक मात्र हो, अर्थ समान छ। तर C भाषा अनुभव भएका व्यक्तिहरूले VBA वा SQL प्रयोग गर्दा“!= ” प्रयोग गर्न नसक्ने कारणले भ्रम हुन सक्छ।
बहु भाषा विकासकर्ताहरूको लागि सल्लाह
- सञ्चालकहरूको लेखन शैली भाषा अनुसार जाँच गर्नुहोस्:किनकि चिन्हहरू समान भएपनि व्यवहार फरक हुन सक्छ।
- C भाषाको
!=
तुलनात्मक रूपमा मानक छतर यो पूर्ण रूपमा सर्वव्यापी छैन भन्ने कुरा बुझेर राख्नुहोस्। - स्वचालित पूरक र स्थिर विश्लेषण उपकरणहरू प्रयोग गर्नुहोस्:पूर्वमा नोटेशन त्रुटिहरू पत्ता लगाउन सकिन्छ।
9. सारांश: != को अर्थ र सही प्रयोगलाई पुनः जाँच
यस लेखमा, सी भाषामा तुलना अपरेटर 「!= (नोट इक्वल)」लाई विषय बनाइ, यसको मूलभूतदेखि अनुप्रयोग, र अन्य भाषासँगको भिन्नतासम्म विस्तृत रूपमा व्याख्या गरिएको छ। यस अध्यायमा, अहिलेसम्मको सामग्रीलाई पुनरावलोकन गर्दै, 「!=」लाई सही तरिकाले प्रयोग गर्ने बुँदाहरूलाई पुनः जाँच गर्नेछौं।
!= को सारभूत अर्थ “बराबर नहुनु” को स्पष्टता
“!= ले,दुई मानहरू “बराबर नहुनु” भन्ने शर्तको आधारमा तुलना अपरेटर हो।
पढ्न सजिलो, र उद्देश्य स्पष्ट कोड लेख्दा, “भिन्नतालाई जोड्न चाहिने” परिस्थितिमा यो अत्यन्त उपयोगी हुन्छ।
उदाहरण:
if (x != 0) {
// x 0 नभएको बेला चल्ने प्रक्रिया
}
यस प्रकारको लेखन “0 नभएको अवस्थामा मात्र कार्यान्वयन” भन्नेस्पष्ट उद्देश्य भएको शाखा प्रक्रिया हो, र पढ्न सजिलो कोडको रूपमा मूल्यांकन गरिन्छ।
सामान्य त्रुटिहरूबाट बच्नका लागि
=
(प्रतिस्थापन)र==
समानता (equivalence) लाई गल्लत नगर्नुहोस्- जब सर्त अभिव्यक्ति जटिल हुन्छकोष्ठक प्रयोग गरेर प्राथमिकता स्पष्ट पार्नुहोस्.
!=
समावेश गरिएको अभिव्यक्ति अन्य अपरेटरहरूसँग मिश्रित हुँदा,तर्कसंगत मूल्याङ्कन क्रममा ध्यान दिनुहोस्
यी कुराहरूलाई ध्यानमा राखेर,कम बग भएको दृढ कोड लेख्न सकिन्छ।
अनुप्रयोगको दायरा व्यापक: लूप, त्रुटि प्रक्रिया, अवस्था निर्धारण आदि
!= ले, if कथन मात्र नभई, तलका जस्ता परिस्थितिहरूमा पनि प्राय प्रयोग हुन्छ:
- while लूपको समाप्ति शर्त(उदाहरण: विशिष्ट मानसम्म पुग्ने सम्म दोहोर्याउनुहोस्)
- फङ्सनको रिटर्न मानद्वारा त्रुटि पत्ता लगाउने(उदाहरण: सफल कोड नभएमा त्रुटि प्रक्रिया)
- राज्य व्यवस्थापन चरसँग तुलना(उदाहरण: वर्तमान मोड विशिष्ट मान होइन भने प्रक्रिया)
यसरी,!=
केवल “भिन्न छ कि छैन” जाँच्ने चिन्ह मात्र होइन,कोडको प्रवाहलाई सुरक्षित र स्पष्ट बनाउने महत्वपूर्ण उपकरण हो भन्ने कुरा स्पष्ट हुन्छ।
आगामी अध्ययनको लागि
सी भाषाको अपरेटरहरू, तुलना अपरेटर बाहेक पनि धेरै छन्, प्रत्येकले सर्त अभिव्यक्ति र प्रक्रिया प्रवाहलाई नियन्त्रण गर्ने महत्वपूर्ण भूमिका खेल्छ। यस पटकको 「!=」लाई राम्ररी बुझेपछि, तलका सम्बन्धित विषयहरू पनि अध्ययन गर्न सिफारिस गरिन्छ।
==
तुलना र प्रयोग भिन्नता अभ्यास&&
वा||
…सँगको संयोजनले जटिल सर्त विभाजन निम्त्याउँछ- शर्तीय अपरेटर (त्रिकीय अपरेटर) द्वारा संक्षिप्त शाखा अभिव्यक्ति
- तुलनात्मक अपरेटरहरूको प्राथमिकताको स्मरण र प्रयोग
10. अक्सर सोधिने प्रश्न(FAQ)
Q1. !=
र ==
को भिन्नता सरल रूपमा बताउनुहोस्।
A:
==
ले「समान हो कि होइन」 तुलना गर्ने अपरेटर हो, दुई मूल्यहरू समान हुँदा true फिर्ता गर्छ।
अर्कोतिर !=
ले「समान छैन कि होइन」 तुलना गर्ने अपरेटर हो, दुई मूल्यहरू फरक हुँदा true फिर्ता गर्छ।
例:
if (a == b) {
// a र b बराबर हुँदा कार्यान्वयन हुन्छ
}
if (a != b) {
// a र b भिन्न हुँदा कार्यान्वयन हुन्छ
}
Q2. !=
प्रयोग गरिरहे पनि, सर्त सही रूपमा मूल्याङ्कन नहुनुको कारण के हो?
A:
सामान्य कारण भनेको =
(代入) र !=
लाई मिश्रण गरेर प्रयोग गर्ने केस हो। साथै, चलप्रारम्भीकरण नभएको वा、सञ्चालनकर्ताको प्राथमिकता क्रम गलत भएको वा पनि कारण हुन सक्छ।
सर्त अभिव्यक्तिलाई स्पष्ट बनाउनको लागि, कोष्ठक प्रयोग गरेर संरचना स्पष्ट बनाउनु राम्रो तरिका हो।
Q3. VBA वा SQL मा !=
प्रयोग गर्न सकिँदैन?
A:
हो、VBA(Visual Basic for Applications)वा SQL मा को सट्टा <>
प्रयोग गरिन्छ। यो पनि समान छैन भन्ने अर्थ राख्छ, भाषा अनुसार लेखन विधि फरक हुन्छ कारणले ध्यान दिनु आवश्यक छ।
Q4. !=
प्रयोग गरेर सर्त अभिव्यक्तिमा बहु तुलना राख्दा ध्यान दिनुपर्ने कुरा के?
A:
बहु सर्तहरूलाई संयोजन गर्दा, सञ्चालनकर्ताको प्राथमिकता क्रम मा ध्यान दिनु आवश्यक छ।
विशेष गरी !=
र &&
、||
लाई सँगै प्रयोग गर्दा, अनपेक्षित मूल्याङ्कन क्रम हुन सक्छ, कोष्ठकले स्पष्ट रूपमा घेर्नु गर्नु सिफारिस गरिन्छ।
例:
// समझ्न गाह्रो उदाहरण
if (a != b || c == d && e != f)
// सुरक्षित लेखन
if ((a != b) || ((c == d) && (e != f)))
Q5. !=
प्रयोग नगरी समान अर्थको सर्त लेख्न सकिन्छ?
A:
तार्किक रूपमा सम्भव छ। उदाहरणका लागि:
if (!(a == b)) {
// a र b भिन्न हुँदा प्रक्रिया
}
यसरी ==
लाई !
(नकारात्मक)ले घेरिदा, !=
जस्तै अर्थ हुन्छ। तर, कोडको पढ्न सकिनेता र उद्देश्यको स्पष्टतालाई विचार गर्दा, !=
प्रयोग गर्नु उपयुक्त छ।
Q6. 「!=」 सधैं सुरक्षित रूपमा प्रयोग गर्न सकिन्छ?
A:
व्याकरणिक रूपमा सुरक्षित छ, तर, तुलना गर्ने मूल्यहरूको प्रकार फरक भएको अवस्थामा वा फ्लोटिङ प्वाइन्टको तुलना जस्ता अवस्थामा ध्यान आवश्यक छ। उदाहरणका लागि:
float x = 0.1 + 0.2;
if (x != 0.3) {
printf("समान छैन?\n");
}
यस अवस्थामा, फ्लोटिङ पोइन्टको त्रुटिले “समान छैन” भनेर निर्णय हुन सक्छ। संख्यात्मक त्रुटि समस्या हो भने, भिन्नताको निरपेक्ष मान प्रयोग गरेर तुलना गरौं।