संभव डुप्लिकेट के बराबर:
Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc…)
increment values in printfC/C++ में है एक्स [मैं] * y [i ++] हमेशा एक्स [मैं] * y [i]
मेरे पास दो डबल एरे x
और y
और पूर्णांक i
है।
double res = x[i] * y[i++];
हमेशा बयान के बराबर है:: मेरा सवाल यह है कि बयान है
double res = x[i] * y[i];
i++;
क्या यह संभव है कि कुछ compilers y[i++] * x[i]
में x[i] * y[i++]
बदल जाएगा, जो स्पष्ट रूप से अलग परिणाम पैदा करता है?
इससे कोई फर्क क्यों पड़ता है? यदि आप एक विशिष्ट आदेश चाहते हैं, तो बस उस क्रम में लिखें। –
@ बोपरसन। मैंने स्पष्टीकरण लिखना सोचा कि मुझे इसकी आवश्यकता क्यों है, लेकिन सवाल खराब नहीं करना चाहता था। जल्द ही, मुझे 'डबल vectors_dot_product (डबल * एक्स, डबल * वाई, int n);' फ़ंक्शन, और पाया कि 'x [i] * y [i ++] + x [i] * y [i ++] +। ..; 'x [i] * y [i] + x [i + 1] * y [i + 1] + ...;' – Serg