निम्न कोड का सही आउटपुट क्यों है? इंट जीजीटी के पास कोई रिटर्न स्टेटमेंट नहीं है, लेकिन कोड वैसे भी काम करता है? कोई वैश्विक चर सेट नहीं हैं।फ़ंक्शन वापसी के बिना फ़ंक्शन रिटर्न मूल्य
#include <stdio.h>
#include <stdlib.h>
int GGT(int, int);
void main() {
int x1, x2;
printf("Bitte geben Sie zwei Zahlen ein: \n");
scanf("%d", &x1);
scanf("%d", &x2);
printf("GGT ist: %d\n", GGT(x1, x2));
system("Pause");
}
int GGT(int x1, int x2) {
while(x1 != x2) {
if(x1 > x2) {
/*return*/ x1 = x1 - x2;
}
else {
/*return*/ x2 = x2 - x1;
}
}
}
अपने कंपाइलर पर चेतावनी स्तर को सीधे चालू करें, और आपको एक संदेश प्राप्त करना चाहिए ... –
मुझे एक चेतावनी संदेश मिल रहा है, लेकिन मैं interessted हूँ क्यों यह काम करता है, क्या संकलक वापसी मूल्य सेट करता है, अगर कोई भी नहीं है? –
[सी फ़ंक्शन को int के रूप में परिभाषित करने के संभावित डुप्लिकेट लेकिन शरीर में कोई रिटर्न स्टेटमेंट अभी भी संकलित नहीं है] (http://stackoverflow.com/questions/4260048/c-function-defined-as-int-but-having-no- रिटर्न-कथन-इन-द-बॉडी-स्टिल-कंपी) –