दिलचस्प पोस्ट
स्थानीय होस्ट विंडोज पर मैं अपना पोर्ट 80 कैसे मुक्त कर सकता हूं? सी ++ में परमाणु के एक वेक्टर को कैसे घोषित करना ऑरेकल डाटाबेस में अधिकतम कनेक्शन की अधिकतम संख्या कैसे जांचनी है? Twitter बूटस्ट्रैप के साथ मॉडल / संवाद को हटाने की पुष्टि करें? रिकॉर्ड में परिवर्तन के इतिहास को ट्रैक करने के लिए कोई MySQL विकल्प / सुविधा है? कैसे PHP में एक ईमेल को मान्य है? Google मानचित्र प्रदर्शन: कोई समस्या नहीं वसंत एमवीसी: सत्यापन कैसे करें? यह जांच कैसे करें कि दो सूचियाँ अजगर में समान रूप से समान हैं या नहीं मैं नमूना डाटाबेस को सामान्य स्वरूपित डेटा के साथ कहां मिल सकता हूं, जिसे मैं कई डेटाबेस इंजिनों में उपयोग कर सकता हूं? MySQL त्रुटि 1022 तालिका बनाते समय VBA में यादृच्छिक चर दोहराते हैं रूबी पर रेल में मेरे JSON आउटपुट को मैं कैसे "सुंदर" प्रारूप में कर सकता हूं? मैं UIView की एक स्क्रीन शॉट कैसे लूूं? प्रोग्रामिंग सिद्धांत: एक भूलभुलैया को हल करें

एक पूर्णांक को सौंपा जाता है तो पाउ () का रिटर्न वैल्यू गुणा हो जाता है

मैं सी में pow फ़ंक्शन का उपयोग कर रहा हूं और एक पूर्णांक प्रकार में रिटर्न वैल्यू को संचित कर रहा हूं। नीचे कोड स्निपेट देखें:

 for (i = 0; i < 5; i++){ val = (int)pow(5, i); printf("%d, ", val); } 

यहां i , और val पूर्णांक हैं और आउटपुट 1, 5, 24, 124, 624 । मेरा मानना ​​है कि एक फ्लोट 25 को 24.99999 के रूप में माना जाता है … जो एक पूर्णांक के लिए असाइनमेंट पर 24 से गिर जाता है।

अगर मैं अब भी इंटर्न में रिटर्न वैल्यू को स्टोर करने की आवश्यकता है तो मैं इसे कैसे पास कर सकता हूं?

Solutions Collecting From Web of "एक पूर्णांक को सौंपा जाता है तो पाउ () का रिटर्न वैल्यू गुणा हो जाता है"

int को कास्ट करने से पहले 0.5 जोड़ें यदि आपका सिस्टम इसका समर्थन करता है, तो आप C99 round() फ़ंक्शन को कॉल कर सकते हैं, लेकिन मैं इसे पोर्टेबिलिटी कारणों से बचने के लिए पसंद करता हूं

बदलने के

 val = (int)pow(5, i); 

साथ में

 double d = pow(5,i); val = (int)((d > 0.0) ? floor(d + 0.5) : ceil(d - 0.5)); 

अपने आप को लागू करें

 int myPow(int base, int exponent) { int n = 1; for (int i = 0; i < exponent; i++) { n *= base; } return n; } 

यह, ज़ाहिर है, केवल सकारात्मक प्रतिपादकों को संभालता है, और केवल ints पर काम करता है, और वहाँ निश्चित रूप से इसे करने के लिए और अधिक कुशल तरीके हैं। देखें, उदाहरण के लिए, ^ Haskell में स्रोत

मुझे यह समस्या थी कि मेरा आत्म मैंने इसे आसानी से अपने अनुदेश में हल किया है बस बस बयान अगर जोड़ें।

 if (k%n>0) { k=k+1; }