พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com | บล็อกอาหาร
C programming / การรีเทรินของฟังชันก์
pavarin
pavarin
Wed 5 Mar 2008 05:45:02

#include<stdio.h>
#include<conio.h>

int re(int n);
int main(){
    int a=0;
   
  a=re(5);
  printf("%d",a);
   
getch(); 
 return 0;  
}

int re(int n){
    int i=1;
 if(n<=1)
   return 1;
 else

 printf(" Round = %d\n\n",n);  
 return 2*re(n-1)+1;
 
}

ผลลัพท์ คือ 31

โจทย์กำหนดมาให้ส่งค่า 5 ให้กับฟังชัน re เมื่อเข้าสู่ฟังก์ชันแล้วมันจะเปรียบเทียบค่า โดยมันจะไปตกที่ else แล้วจะมีการ returnค่า แต่การ return นี้กลับไปยังฟังก์ชัน re อีก

ผมไม่เข้าใจว่า return 2*re(n-1)+1; มันกระทำกันก่อน แล้วค่อยส่งค่าไป ? ผมไม่เข้าใจว่าการรีเทรินของมันทำงานยังไง ถึงได้ผลลัพท์ออกมาครับ

webmaster
webmaster
Wed 5 Mar 2008 11:25:19
ใช่ครับถ้าใช้งานแบบนี้จะต้องรอค่าจาก function ก่อนถึงจะคำนวนได้แล้วถึงจะ return ค่าออกมาครับ
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login