- 1 1. परिचय
- 2 2. C भाषा को जोड्ने तरिका【शुरूआतीहरूका लागि पूर्ण मार्गदर्शिका】
- 3 3. चलहरू र प्रयोगकर्ता इनपुट प्रयोग गरेर जोड
- 4 4. C भाषा को जोडमा प्रायः हुने त्रुटिहरू 3 चयन र समाधानहरू【शुरूवात गर्नेहरूका लागि】
- 5 5. फ्लोटिङ पोइन्ट संख्याहरूको जोड र त्रुटि टाल्ने विधि
- 6 6. बहु संख्याहरू जोड्ने तरिका(लूपको प्रयोग)
- 7 7. जोडको सम्बन्धी अपरेटरहरूको सारांश
- 8 8. C gengo को जोडाइमा ध्यान दिनु पर्ने कुरा
- 9 9. अनुप्रयोग भाग: ठूलो संख्याको जोड
- 10 10. C भाषा को जोडाइमा शुरुआतीहरूले अड्किने बिन्दुहरू Q&A
1. परिचय
C भाषा को जोड भनेको के हो? शुरुआतीहरूका लागि व्याख्या【मूलभूतदेखि उन्नतसम्म】
C भाषामा, जोड सबैभन्दा आधारभूत गणनात्मक कार्यहरूमध्ये एक हो।「+」 अपरेटर प्रयोग गरेर संख्याहरूलाई जोड्न सकिन्छ, तर डेटा प्रकार र इनपुट विधि अनुसार व्यवहार फरक हुन सक्छ।
C भाषा सिक्न सुरु गरेका व्यक्तिहरूमध्ये,
- 「C भाषा को जोड कसरी लेख्ने थाहा छैन」
- 「चल (भेरिएबल) प्रयोग गरेर गणना गर्ने तरिका जान्न चाहन्छु」
- 「बहु संख्याहरूको योग गर्ने प्रोग्राम बनाउन चाहन्छु」
जस्ता प्रश्नहरू राख्ने व्यक्तिहरू पनि धेरै हुनेछन्।
यस लेखमा,C भाषा को जोडको आधारभूतदेखि उन्नतसम्म, शुरुआतीहरूलाई पनि बुझ्न सजिलो रूपमा व्याख्या गर्नेछौं।
तुरुन्तै कोड उदाहरण हेर्न चाहनेहरूका लागि, अर्को अध्याय「2. C भाषा को जोड लेख्ने तरिका【शुरुआतीहरूका लागि पूर्ण मार्गदर्शन】」हेर्नुहोस्।
2. C भाषा को जोड्ने तरिका【शुरूआतीहरूका लागि पूर्ण मार्गदर्शिका】
C भाषा को 「+」 अपरेटरको आधारभूत
C भाषामा जोड्ने कार्यले अंकगणितीय अपरेटर「+」 प्रयोग गर्दछ। यो दुई संख्याहरूलाई जोड्ने आधारभूत अपरेटर हो।
पूर्णांकको जोड
#include <stdio.h>
int main(void) {
int a = 10, b = 5;
int sum = a + b;
printf("कुल: %dn", sum);
return 0;
}
चलाउने परिणाम
कुल: 15
「+=」 प्रयोग गरेर संचयी गणना
C भाषामा, 「+」 अपरेटरको छोटो लेखनको रूपमा 「+=」 अपरेटर छ।
यो, वर्तमान चलको मानमा अर्को संख्या जोड्दा प्रयोग गर्न सकिन्छ।
int a = 5;
a += 3; // a 8 हुन्छ
उपरोक्त कोडले तल लेखेको जस्तै अर्थ दिन्छ।
int a = 5;
a = a + 3; // a मा 3 थप्नुहोस्
+=
प्रयोग गर्दा, कोडको पढ्न सजिलो हुन्छ र संक्षिप्त रूपमा लेख्न सकिन्छ।
नकारात्मक संख्या र 0 समावेश गर्ने जोडको व्यवहार
C भाषामा, नकारात्मक संख्या वा शून्य समावेश गर्ने जोड पनि समस्या बिना गणना गर्न सकिन्छ।
#include <stdio.h>
int main(void) {
int a = -5, b = 3;
int sum = a + b;
printf("कुल: %dn", sum);
return 0;
}
चलाउने परिणाम
कुल: -2
साथै, शून्य समावेश गर्ने जोड पनि सामान्य रूपमा काम गर्छ।
int a = 10;
int sum = a + 0; // परिणाम १० हो
विशेष प्रक्रिया नगरे पनि, C भाषाको जोडमा नकारात्मक संख्या वा शून्य समावेश गर्ने गणना सम्भव छ।
3. चलहरू र प्रयोगकर्ता इनपुट प्रयोग गरेर जोड
C Gengo को चलहरू प्रयोग गरेर जोड【scanf को उपयोग】
C Gengo मा, प्रयोगकर्ताबाट इनपुट लिई गणना गर्न सकिन्छ।
यसका लागि, मानक इनपुट फङ्क्शन scanf
प्रयोग गरिन्छ।
तलको प्रोग्रामले प्रयोगकर्तालाई दुईवटा संख्याहरू इनपुट गराउन, ती संख्याहरूलाई जोड्ने काम गर्दछ।
#include <stdio.h>
int main(void) {
int num1, num2, sum;
printf("पहिलो पूर्णांक प्रविष्ट गर्नुहोस्: ");
scanf("%d", &num1);
printf("दोस्रो पूर्णांक प्रविष्ट गर्नुहोस्: ");
scanf("%d", &num2);
sum = num1 + num2;
printf("कुल: %dn", sum);
return 0;
}
कार्य परिणामको उदाहरण
पहिलो पूर्णांक प्रविष्ट गर्नुहोस्: 7
दोस्रो पूर्णांक प्रविष्ट गर्नुहोस्: 3
कुल: 10
इनपुट त्रुटि टाल्ने तरिका
scanf
प्रयोग गर्दा, छ।
उदाहरणका लागि, प्रयोगकर्ताले अंकको सट्टा अक्षर इनपुट गरेमा, प्रोग्रामले अनपेक्षित व्यवहार गर्न सक्छ।
यो समस्या रोक्न, scanf
को रिटर्न मान जाँचेर, सही रूपमा इनपुट भएको छ कि छैन जाँच्ने विधि छ।
#include <stdio.h>
int main(void) {
int num;
printf("पूर्णांक प्रविष्टि गर्नुहोस्: ");
if (scanf("%d", &num) != 1) {
printf("इनपुट त्रुटि: पूर्णांक प्रविष्टि गर्नुहोस्।n");
return 1; // त्रुटि कोड फिर्ता गरेर अन्त्य
}
printf("प्रविष्ट गरिएको पूर्णांक: %dn", num);
return 0;
}
यो प्रोग्राममा, scanf
को रिटर्न मान जाँचेर, पूर्णांक इनपुट नभएमा त्रुटि सन्देश देखाएर समाप्त हुन्छ।
while
लूप प्रयोग गरेर पुनः इनपुट प्रक्रिया
प्रयोगकर्ताले गलत इनपुट गरेमा, पुनः इनप-को लागि प्रेरित गर्ने प्रणाली थप्दा अझ सुरक्षित प्रोग्राम बनाइन्छ।
#include <stdio.h>
int main(void) {
int num;
while (1) { // अनन्त लूपमा इनपुट माग्ने
printf("पूर्णांक प्रविष्टि गर्नुहोस्: ");
if (scanf("%d", &num) == 1) {
break; // सही रूपमा इनपुट भएमा, लूपबाट बाहिर निस्कनु
} else {
printf("त्रुटि: पूर्णांक प्रविष्टि गर्नुहोस्।n");
while (getchar() != 'n'); // बफर खाली गर्नु
}
}
printf("प्रविष्ट गरिएका पूर्णांक: %dn", num);
return 0;
}
यो विधिमा, गलत इनपुट भए पनि प्रोग्राम समाप्त हुँदैन, सही मान इनपुट नहुन्जेल दोहोर्याएर माग्ने कारण, प्रयोगकर्ता मैत्री बनाइन्छ।
4. C भाषा को जोडमा प्रायः हुने त्रुटिहरू 3 चयन र समाधानहरू【शुरूवात गर्नेहरूका लागि】
C भाषामा जोड गर्दा, सुरूवात गर्नेहरूले प्रायः सामना गर्ने त्रुटिहरू तलका जस्तै छन्।
- प्रयोगकर्ता इनपुट गर्दा हुने त्रुटि(
scanf
को गल्ती) - ओभरफ्लो(चलको मान सीमा भन्दा बाहिर)
- डेटा प्रकारको असमानता(पूर्णांक र दशमलवको गणना गल्ती)
यस खण्डमा, यी त्रुटिहरूको कारण र समाधानलाई विस्तृत रूपमा व्याख्या गर्नेछौं।
4-1. scanf
को इनपुट त्रुटि रोक्ने तरिका
त्रुटिको कारण
scanf
प्रयोग गरेर प्रयोगकर्ताबाट इनपुट लिने क्रममा, अनपेक्षित डेटा(जस्तै स्ट्रिङ)इनपुट भएमा प्रोग्राम असामान्य रूपमा बन्द हुन सक्छ।
#include <stdio.h>
int main(void) {
int num;
printf("पूर्णांक प्रविष्ट गर्नुहोस्: ");
scanf("%d", &num); // यदि संख्यात्मक बाहेक प्रविष्ट गरियो भने कार्य अस्थिर हुन्छ
printf("प्रविष्ट गरिएको पूर्णांक: %dn", num);
return 0;
}
अनपेक्षित इनपुट उदाहरण
कृपया पूर्णांक प्रविष्ट गर्नुहोस्: abc
(प्रोग्राम अनपेक्षित रूपमा कार्य गर्नेछ)
उपाय1: scanf
को रिटर्न मान जाँच गर्नुहोस्
#include <stdio.h>
int main(void) {
int num;
printf("पूर्णांक प्रविष्ट गर्नुहोस्: ");
if (scanf("%d", &num) != 1) {
printf("इनपुट त्रुटि: पूर्णांक प्रविष्ट गर्नुहोस्।n");
return 1; // त्रुटि कोड फिर्ता गरेर अन्त्य
}
printf("प्रविष्ट गरिएको पूर्णांक: %dn", num);
return 0;
}
उपाय2: while
लूप प्रयोग गरेर पुनः इनपुट प्रक्रिया
#include <stdio.h>
int main(void) {
int num;
while (1) { // अनन्त लूपमा इनपुट माग्ने
printf("पूर्णांक प्रविष्ट गर्नुहोस्: ");
if (scanf("%d", &num) == 1) {
break; // सही रूपमा इनपुट भएमा, लूपबाट बाहिर निस्कनुहोस्
} else {
printf("त्रुटि: पूर्णांक प्रविष्ट गर्नुहोस्।n");
while (getchar() != 'n'); // बफर सफा गर्नुहोस्
}
}
printf("प्रविष्ट गरिएको पूर्णांक: %dn", num);
return 0;
}
4-2. जोड गर्दा उत्पन्न हुने ओभरफ्लो त्रुटि
त्रुटिको कारण
C भाषामा, पूर्णांक प्रकार(int
र long
)को मानको अधिकतम र न्यूनतम सीमा हुन्छ।
यदि अधिकतम मान भन्दा बढी गणना गरियो भने, अनपेक्षित व्यवहार(ओभरफ्लो) उत्पन्न हुन्छ।
#include <stdio.h>
#include <limits.h> // INT_MAX को प्रयोग गर्न आवश्यक
int main(void) {
int a = INT_MAX, b = 1;
int sum = a + b; // यहाँ ओवरफ्लो हुन्छ
printf("कुल: %dn", sum);
return 0;
}
उपाय: long long
प्रकार प्रयोग गर्नुहोस्
#include <stdio.h>
#include <limits.h>
int main(void) {
long long a = LLONG_MAX, b = 1;
long long sum = a + b;
printf("कुल: %lldn", sum);
return 0;
}
4-3. डेटा प्रकारको असमानताले हुने गणना गल्ती
त्रुटिको कारण
C भाषामा, पूर्णांक प्रकार(int
)र फ्लोटिंग पोइन्ट प्रकार(float
र double
)लाई मिश्रित गरी गणना गर्दा, प्रकार रूपान्तरणको प्रभावले अनपेक्षित नतिजा आउन सक्छ।
#include <stdio.h>
int main(void) {
int a = 5;
double b = 2.5;
int sum = a + b; // int मा असाइन
printf("कुल: %dn", sum);
return 0;
}
कार्य परिणाम
कुल: 7
उपाय: डेटा प्रकारलाई एकरूप बनाउनु
#include <stdio.h>
int main(void) {
double a = 5.0;
double b = 2.5;
double sum = a + b; // double सँग गणना
printf("कुल: %.2fn", sum);
return 0;
}
कार्य परिणाम
कुल: 7.50

5. फ्लोटिङ पोइन्ट संख्याहरूको जोड र त्रुटि टाल्ने विधि
C भाषा मा, पूर्णांक (int) मात्र होइन, दशमलव (float र double) पनि ह्यान्डल गर्न सकिन्छ।
तर、दशमलवहरूको जोडमा, त्रुटि उत्पन्न हुन सक्छ को कारण, सावधानी आवश्यक छ।
5-1. C भाषा को फ्लोटिङ पोइन्ट संख्याहरूको जोड【float / double】
दशमलवलाई ह्यान्डल गर्ने जोडको आधारभूत
#include <stdio.h>
int main(void) {
double a = 1.2, b = 2.3;
double sum = a + b;
printf("कुल: %.2fn", sum);
return 0;
}
कार्य परिणाम
कुल: 3.50
5-2. 「0.1 + 0.2」 0.3 नबनने समस्या
तलको प्रोग्राम चलाउँदा、अपेक्षित परिणाम प्राप्त हुन सक्दैन सम्भावना हुन्छ।
#include <stdio.h>
int main(void) {
double a = 0.1, b = 0.2;
double sum = a + b;
printf("कुल: %.17fn", sum);
return 0;
}
कार्य परिणाम
कुल: 0.30000000000000004
कारण: फ्लोटिङ पोइन्ट संख्याहरूको आन्तरिक प्रतिनिधित्वले उत्पन्न त्रुटि
C भाषा को float
र double
द्विआधारीमा दशमलवलाई प्रतिनिधित्व गर्ने कारण, 0.1 वा 0.2 लाई ठ्याक्कै प्रतिनिधित्व गर्न सकिँदैन सम्भव छ।
0.1 (दशमलव संख्या) = 0.000110011001100... (द्विआधारी संख्या)
0.2 (दशमलव संख्या) = 0.00110011001100... (द्विआधारी संख्या)
यसकारण、0.1 + 0.2
को गणनामा सानो त्रुटि उत्पन्न हुन्छ।
5-3. फ्लोटिङ पोइन्ट संख्याहरूको त्रुटि टाल्ने विधिहरू
① round()
फलनले त्रुटि गोलो बनाउने
#include <stdio.h>
#include <math.h> // round फंक्शन प्रयोग गर्न आवश्यक छ
int main(void) {
double a = 0.1, b = 0.2;
double sum = round((a + b) * 100) / 100; // दशमलवको 2 स्थानसम्म गोलाकार गर्ने
printf("कुल: %.2fn", sum);
return 0;
}
② पूर्णांकमा रूपान्तरण गरेर गणना गर्ने
#include <stdio.h>
int main(void) {
int a = 10, b = 20; // दशमलवलाई पूर्णांक (100 गुणा) मा परिवर्तन
int sum = a + b;
printf("कुल: %.2fn", sum / 100.0); // मूल स्केलमा फिर्ता ल्याउनुहोस्
return 0;
}
③ long double
प्रयोग गर्ने
#include <stdio.h>
int main(void) {
long double a = 0.1L, b = 0.2L;
long double sum = a + b;
printf("कुल: %.20Lfn", sum);
return 0;
}
6. बहु संख्याहरू जोड्ने तरिका(लूपको प्रयोग)
C भाषा मा、बहु संख्याहरू जोड्ने तरिका को रूपमा लूपको प्रयोग गर्नु सामान्य हो。
उदाहरणका लागि, एरेमा संग्रहित बहु संख्याहरूको योग गर्न वा प्रयोगकर्ताबाट बहु मानहरू इनपुट गराएर जोड्ने बेला लूप उपयोगी हुन्छ।
6-1. for
लूपलाई प्रयोग गरेर बहु संख्याहरूको जोड
एरे प्रयोग गरेर बहु संख्याहरूको योग
#include <stdio.h>
int main(void) {
int numbers[] = {10, 20, 30, 40, 50}; // 5 वटा संख्याहरूलाई एरेमा भण्डारण गर्ने
int sum = 0;
int size = sizeof(numbers) / sizeof(numbers[0]); // एरेको तत्वहरूको संख्या गणना गर्ने
for (int i = 0; i < size; i++) {
sum += numbers[i]; // एरेको प्रत्येक तत्वलाई जोड्ने
}
printf("कुल: %dn", sum);
return 0;
}
चलाउने परिणाम
कुल: 150
6-2. while
लूपलाई प्रयोग गरेर संख्याको योग
प्रयोगकर्ता इनपुट स्वीकार गरेर, इच्छित संख्याको योग
#include <stdio.h>
int main(void) {
int num, sum = 0;
printf("कृपया संख्या प्रविष्ट गर्नुहोस् (0 प्रविष्ट गर्दा समाप्त हुन्छ): ");
while (1) { // अनन्त लूप
scanf("%d", #);
if (num == 0) {
break; // 0 प्रविष्ट भएमा लूपबाट बाहिर निस्कनुहोस्
}
sum += num;
}
printf("कुल: %dn", sum);
return 0;
}
चलाउने परिणाम
कृपया संख्या प्रविष्ट गर्नुहोस् (0 प्रविष्ट गर्दा अन्त्य हुन्छ): 5
10
3
0
कुल: 18
6-3. do-while
लूपलाई प्रयोग गरेर संख्याको योग
do-while
लूपमा、कम्तिमा १ पटक प्रक्रिया अनिवार्य रूपमा चलाइन्छ भन्ने विशेषता हुन्छ।
#include <stdio.h>
int main(void) {
int num, sum = 0;
printf("कृपया संख्या प्रविष्ट गर्नुहोस् (0 प्रविष्ट गर्दा समाप्त हुन्छ): ");
do {
scanf("%d", &num);
sum += num; // 0 प्रविष्ट भएपनि थपिन्छ, पछि सुधार गरिनेछ
} while (num != 0); // 0 प्रविष्ट नभएसम्म दोहोर्याइन्छ
sum -= num; // 0 घटाएर सुधार
printf("कुल: %dn", sum);
return 0;
}
चलाउने परिणाम
संख्या प्रविष्ट गर्नुहोस् (0 प्रविष्ट गर्दा अन्त्य हुन्छ): 4
6
2
0
कुल: 12
7. जोडको सम्बन्धी अपरेटरहरूको सारांश
C भाषा मा,जोड गर्नका लागि विभिन्न अपरेटरहरू छन्, र प्रत्येकको प्रयोग अनुसार तिनीहरूलाई फरक‑फरक प्रयोग गर्नु महत्त्वपूर्ण छ।
यो खण्डमा,“+”“+=”“++” को भिन्नता र प्रयोग विधिहरूलाई विस्तृत रूपमा व्याख्या गर्नेछौं।
7-1. +
अपरेटर(मूल जोड)
#include <stdio.h>
int main(void) {
int a = 10, b = 5;
int sum = a + b;
printf("कुल: %dn", sum);
return 0;
}
कार्य परिणाम
कुल: 15
7-2. +=
अपरेटर(संचयी जोड)
#include <stdio.h>
int main(void) {
int num = 10;
num += 5; // num = num + 5 जस्तै
printf("परिणाम: %dn", num);
return 0;
}
कार्य परिणाम
परिणाम: 15
7-3. ++
अपरेटर(इन्क्रिमेन्ट)
#include <stdio.h>
int main(void) {
int num = 5;
num++; // num = num + 1 जस्तै
printf("इन्क्रिमेन्ट पछि मान: %dn", num);
return 0;
}
कार्य परिणाम
बढाइपछि मान: 6
7-4. ++a
र a++
को भिन्नता
#include <stdio.h>
int main(void) {
int a = 5, b, c;
b = ++a; // पूर्ववृद्धि
printf("पूर्ववृद्धि: a=%d, b=%dn", a, b);
a = 5; // रीसेट
c = a++; // पश्चात् वृद्धि
printf("पश्चात्: a=%d, c=%dn", a, c);
return 0;
}
कार्य परिणाम
पूर्वस्थ: a=6, b=6
पश्चात: a=6, c=5
8. C gengo को जोडाइमा ध्यान दिनु पर्ने कुरा
C gengo को जोडाइ मूलभूत गणना हो, तर डेटा प्रकारको प्रतिबन्ध र गणनाको विशेषता नबुझिएमा, अनपेक्षित त्रुटिहरू उत्पन्न हुन सक्छ।
यो खण्डमा, ओभरफ्लोको जोखिम र डेटा प्रकारको चयन बारेमा विस्तृत रूपमा व्याख्या गर्नेछौं।
8-1. ओभरफ्लोको जोखिम के हो?
#include <stdio.h>
#include <limits.h> // INT_MAX प्रयोग गर्न आवश्यक
int main(void) {
int a = INT_MAX, b = 1;
int sum = a + b; // यहाँ ओवरफ्लो हुन्छ
printf("कुल: %dn", sum);
return 0;
}
कार्य परिणाम
कुल: -2147483648
8-2. long long
प्रयोग गरेर उपाय
#include <stdio.h>
#include <limits.h>
int main(void) {
long long a = LLONG_MAX, b = 1;
long long sum = a + b;
printf("कुल: %lldn", sum);
return 0;
}
8-3. डेटा प्रकारको चयन
डेटा प्रकार | बिट संख्या | भण्डारण गर्न सकिने दायरा |
---|---|---|
int | 32bit | -2,147,483,648 – 2,147,483,647 |
long | 32bit वा 64bit | पर्यावरण अनुसार |
long long | 64bit | -9,223,372,036,854,775,808 – 9,223,372,036,854,775,807 |
float | 32bit | लगभग ±3.4×10³⁸ |
double | 64bit | लगभग ±1.7×10³⁰⁸ |
8-4. गणनाको परिणामको अंक ओभरफ्लो(अंक गिरावट)मा ध्यान दिनुहोस्
#include <stdio.h>
int main(void) {
double a = 1000000000.0;
double b = 0.0000001;
double sum = a + b;
printf("कुल: %.10fn", sum);
return 0;
}
कार्य परिणाम
कुल: 1000000000.0000000000
9. अनुप्रयोग भाग: ठूलो संख्याको जोड
C भाषा को मानक डेटा प्रकार (int
, long
, long long
) मा, ह्यान्डल गर्न सकिने संख्याको दायरा सीमित छ।
तर, ठूलो संख्या(बहु-प्रेसिजन पूर्णांक)लाई ह्यान्डल गर्न आवश्यक पर्ने केसहरू पनि छन्।
9-1. unsigned
प्रयोग गर्ने
#include <stdio.h>
#include <limits.h>
int main(void) {
printf("unsigned int को अधिकतम मान: %un", UINT_MAX);
printf("unsigned long long को अधिकतम मान: %llun", ULLONG_MAX);
return 0;
}
कार्य परिणाम
unsigned int का अधिकतम मान: 4294967295
unsigned long long का अधिकतम मान: 18446744073709551615
9-2. स्ट्रिङ प्रयोग गरेर ठूलो संख्याको जोड
#include <stdio.h>
#include <string.h>
#define MAX 1000 // Maximum digits
void addLargeNumbers(char num1[], char num2[], char result[]) {
int len1 = strlen(num1);
int len2 = strlen(num2);
int carry = 0, i, j, k = 0;
char temp[MAX];
i = len1 - 1;
j = len2 - 1;
while (i >= 0 || j >= 0 || carry) {
int digit1 = (i >= 0) ? num1[i] - '0' : 0;
int digit2 = (j >= 0) ? num2[j] - '0' : 0;
int sum = digit1 + digit2 + carry;
carry = sum / 10;
temp[k++] = (sum % 10) + '0';
i--;
j--;
}
temp[k] = '\0';
int len = k;
for (i = 0; i < len; i++) {
result[i] = temp[len - 1 - i];
}
result[len] = '\0';
}
int main(void) {
char num1[MAX], num2[MAX], result[MAX];
printf("पहिलो ठूलो संख्या प्रविष्टि गर्नुहोस्: ");
scanf("%s", num1);
printf("दोस्रो ठूलो संख्या प्रविष्टि गर्नुहोस्: ");
scanf("%s", num2);
addLargeNumbers(num1, num2, result);
printf("कुल: %sn", result);
return 0;
}
कार्य परिणाम
पहिलो ठूलो संख्या प्रविष्ट गर्नुहोस्: 987654321987654321987654321
दोस्रो ठूलो संख्या प्रविष्ट गर्नुहोस्: 123456789123456789123456789
कुल: 1111111111111111111111111110
10. C भाषा को जोडाइमा शुरुआतीहरूले अड्किने बिन्दुहरू Q&A
Q1. C भाषामा बहु संख्याहरूलाई प्रभावकारी रूपमा जोड्न कसरी?
A1. एरे र लूप प्रयोग गर्नु नै उत्तम!
#include <stdio.h>
int main(void) {
int numbers[] = {10, 20, 30, 40, 50};
int sum = 0;
int size = sizeof(numbers) / sizeof(numbers[0]);
for (int i = 0; i < size; i++) {
sum += numbers[i];
}
printf("कुल: %d\n", sum);
return 0;
}
कार्य परिणाम
कुल: 150
Q2. जोडाइको परिणाम अनुमानसँग किन फरक छ?
A2. मुख्य कारणहरू「ओभरफ्लो」वा「प्रकार रूपान्तरण त्रुटि」
#include <stdio.h>
#include <limits.h>
int main(void) {
int a = INT_MAX, b = 1;
int sum = a + b;
printf("कुल: %dn", sum);
return 0;
}
कार्य परिणाम
कुल: -2147483648
उपाय
long long
प्रकार प्रयोग गर्नुif (a > INT_MAX - b)
द्वारा ओभरफ्लोलाई पूर्व जाँच गर्नु
Q3. a++
र ++a
को फरक के हो?
#include <stdio.h>
int main(void) {
int a = 5, b, c;
b = ++a; // पूर्ववृद्धि
printf("पूर्ववृद्धि: a=%d, b=%dn", a, b);
a = 5; // रीसेट
c = a++; // पश्चातवृद्धि
printf("पश्चातवृद्धि: a=%d, c=%dn", a, c);
return 0;
}
कार्य परिणाम
पूर्व: a=6, b=6
पश्चात: a=6, c=5