#include<iostream>;
int main()
{
int a = 1;
int b = 2;
std::cin >> a >> b;
std::cout << a << "+" << b << "=" << a+b << std::endl;
return 0;
}
है जब मैं प्रवेश 3 4
इनपुट के रूप में, उत्पादन 3+4=7
हो जाएगा, ठीक है, यह अजीब बात है क्या CIN क्या करता है; लेकिन जब मैं a b
दर्ज करता हूं, तो आउटपुट 0+0=0
(यह 0 और 0 क्यों है?); सबसे भ्रमित, a 4
, यह 0+0=0
होगा (क्यों नहीं '0 + 4 = 4' ?????); फिर मैं एक और कार्यक्रम लिखता हूं।जब वहाँ एक त्रुटि
#include<iostream>;
int main()
{
int a = 1;
int b = 2;
std::cin >> a;
std::cin.clear();
std::cin >> b;
std::cout << a << "+" << b << "=" << a+b << std::endl;
return 0;
}
जब मैं a 4
दर्ज करते हैं, यही कारण है कि यह अभी भी 0+0=0
है? यह 0+4=4
हो नहीं करना चाहिए?
सभी गर्म दिल के लिए धन्यवाद !!
मैं प्रोजे 3 लिखता हूं, यह जांचने के लिए कि क्या होगा जब मैं int a=1;int b=2
नहीं लिखूंगा;
2
#include <iostream>
using namespace std;
int main()
{
int a,b;
cin >> a ;
cin >> b;
cout<< a << "+"<< b <<"="<< a+b << endl;
return 0;
}
जब a b
फिर, यह 0+-1218170892=-1218170892
आउटपुट (क्यों 0+0=0
?? नहीं है)
इनपुट के एक मूल्य प्राप्त एक पूर्णांक होने की उम्मीद है, एक चरित्र नहीं। "ए", "3.141" या "जो कुछ भी" दर्ज करना मान्य नहीं है। यदि आपका इनपुट "ए" है, तो प्रोग्राम यह नहीं जानता कि आपने "ए" को एक चर के रूप में उपयोग किया है और आप इसके बजाय डिफ़ॉल्ट मान का उपयोग करना चाहते हैं। – stefan
यह स्पष्ट है कि यह सी ++ 11 है, क्योंकि अन्यथा, मान 1 और 2 होंगे, 0 नहीं। – Drise
आपके संपादन का उत्तर देने के लिए: आपने इनपुट से कोई नहीं हटाया है। आपको 'cin.clear() की आवश्यकता है; cin.ignore (1); ', ताकि दूसरा निष्कर्षण सफल हो जाएगा। – Drise