में त्रुटि मैं यहाँ इस कोड ::सी ++ में ठीक काम करता है, लेकिन क्रम सी
int f(int x, int *py, int **ppz)
{
int y, z;
**ppz += 1;
z = **ppz;
*py += 2;
y = *py;
x += 3;
return x + y + z;
}
int main()
{
int c, *b, **a;
c = 4;
b = &c;
a = &b;
printf("%d\n", f(c,b,a));
printf("%d\n", c);
}
जब मैं एक सी के रूप में इस कोड को चलाने ++ प्रोग्राम (कृपया हेडर फाइल तदनुसार चुनें), यह है आसानी से दौडें। लेकिन, जब मैं एक सी कार्यक्रम के रूप में इसे चलाने के लिए, यह इसके निष्पादन पूरा करता है, सभी मूल्यों प्रिंट, लेकिन कोड की अंतिम पंक्ति पर, एक रनटाइम त्रुटि देता है। मैं एक डिबगर संलग्न है, और कार्यक्रम के अंत चरण से अधिक क्लिक करने पर (सी में इस कोड को चलाने के दौरान), यह मुझे एक min_gw फाइल करने के लिए ले जाता है, जो इस ::
__mingw_CRTStartup()
__mingw_CRTStartup+208: mov %eax,%ebx
__mingw_CRTStartup+210: call 0x407fb0 <_cexit>
__mingw_CRTStartup+215: mov %ebx,(%esp)
__mingw_CRTStartup+218: call 0x408088 <[email protected]>
__mingw_CRTStartup+223: nop
तरह दिखता है पर क्या क्या यह फाइल है ?? और कोड सी में विफल क्यों होता है ??
Ideone संदर्भ ::
सी :: http://ideone.com/sDbqnI
सी ++ :: http://ideone.com/Ubb71k
पहले से कोई मदद के लिए धन्यवाद .. :)
दोनों कार्यक्रमों ठीक कर रहे हैं। विचार रनटाइम त्रुटि रिपोर्ट करता है क्योंकि आपका 'मुख्य' मूल्य लौटाए बिना अंत तक पहुंचता है। – dasblinkenlight
@dasblinkenlight नहीं, यह यूबी अंत होकर गिरते (और उपयोग मूल्य है, जो क्रम करता है) है। – o11c
dasblinkenlight: आपको इसे एक उत्तर के रूप में पोस्ट करना चाहिए। – amaurea