unsigned int value = 1860;
int data = 1300;
if((data - value) > 0)
{
printf("Why it is printing this");
}
उत्पादन: यह इसघटाना हस्ताक्षर पूर्णांक
मैं समझ नहीं कर रहा हूँ क्यों प्रिंट कर रहा है यही कारण है कि के माध्यम से हस्ताक्षरित प्रपत्र अहस्ताक्षरित पास के घटाव "अगर" भी चर "डाटा" का मूल्य हालांकि तुलना में कम है परिवर्तनीय "मान"। मैं वास्तव में उत्सुक हूं कि कैसे हस्ताक्षरित और हस्ताक्षरित घटाव 'एक छोटी गलती' है लेकिन एक बड़ा कारण बनता है क्योंकि मैं "printf" के बजाय "देरी" फ़ंक्शन का उपयोग कर रहा था और मेरा कार्य देरी कर रहा था जो अराजकता पैदा कर रहा था।
unsigned int value = 1860;
int data = 1300;
if((data - value) > 0)
{
Delay(data - value);
}
इस भाग में देरी और मेरे काम कभी नहीं ends.That के मूल्य का मतलब है पर रखने कि "डेटा - मूल्य" यही कारण है कि यह अनंत प्रतीक्षा पर चला जाता है है नकारात्मक है। साथ ही यह "अगर" कहां से गुजर रहा है, यह स्थिति "डेटा-वैल्यू"> 0 है। मेरा संदेह अगर हस्ताक्षरित हो जाता है तो हस्ताक्षर किए जाते हैं और "अगर" के माध्यम से गुजरते हैं, तो यह "देरी" फ़ंक्शन के लिए नकारात्मक मूल्य क्यों दे रहा है।
"डेटा-वैल्यू" का मान नकारात्मक नहीं है, यह सिर्फ विपरीत है यानी बहुत बड़ा है। इसे आज़माएं: 'printf ("% u ", डेटा-मान);' – skrtbhtngr