Computer >> Máy Tính >  >> Lập trình >> C ++

Hàm main có thể gọi chính nó trong C ++ không?


Hàm main () có thể gọi chính nó trong C ++. Đây là một ví dụ về đệ quy vì điều đó có nghĩa là một hàm gọi chính nó. Một chương trình chứng minh điều này được đưa ra như sau.

Ví dụ

#include<iostream>
using namespace std;
int main() {
   static int x = 1;
   cout << x << " ";
   x++;
   if(x == 11) {
      return 0;
   }
   main();
}

Đầu ra

Kết quả của chương trình trên như sau.

1 2 3 4 5 6 7 8 9 10

Bây giờ, chúng ta hãy hiểu chương trình trên.

Biến x là một biến tĩnh trong hàm main (). Giá trị của nó được hiển thị và sau đó nó được tăng dần lên. Sau đó, câu lệnh if được sử dụng để cung cấp một phương tiện để kết thúc chương trình vì nếu không, nó sẽ gọi chính nó vô hạn. Chương trình kết thúc khi giá trị của x là 11. Cuối cùng, hàm main () tự gọi nó bằng cách gọi hàm main (). Đoạn mã cho điều này được đưa ra như sau.

int main() {
   static int x = 1;
   cout << x << " ";
   x++;
   if(x == 11) {
      return 0;
   }
   main();
}