Una funzione ricorsiva è una funzione che si denomina. E questo processo è denominato ricorrenza. Il passaggio da Value Pass dal tipo di ritorno del compilatore del prototipo del Reference Functions ha dichiarato usando la funzione di chiamata vuota

Data Recovery PRO DATA DOCTOR

Home | Order Online | Downloads | Contact Us | Software Knowledgebase

it | es | pt | fr | de | jp | kr | cn | ru | nl | gr


Vediamo un altro esempio. Il seguente esempio usa una funzione denominata quadrato che scrive il quadrato dei numeri fra 1 e 10.

#include <stdio.h>

int square(int x); /* Function prototype */

int main()
{
int counter;

for (counter=1; counter<=10; counter++)

printf("Square of %d is %d\n", counter, square(counter));
return 0;
}

/* Define the function 'square' */
int square(int x)
{
return x * x;
}

L'uscita di questo programma sarà visualizzata come segue:

Square of 1 is 1
Square of 2 is 4
Square of 3 is 9
Square of 4 is 16
Square of 5 is 25
Square of 6 is 36
Square of 7 is 49
Square of 8 is 64
Square of 9 is 81
Square of 10 is 100

Il quadrato del prototipo di funzione dichiara una funzione che prende un parametro di numero intero e restituisce un numero intero. Quando il compilatore raggiunge la chiamata di funzione al quadrato nel programma principale, può da controllare la chiamata di funzione contro la definizione della funzione.

Quando il programma raggiunge la linea che denomina il quadrato di funzione, il programma salta alla funzione ed esegue quella funzione prima della ripresa del relativo percorso con il programma principale. I programmi che non hanno un tipo di ritorno dovrebbero essere dichiarati usando il vuoto. Così i parametri alla funzione possono essere passaggio da Value o passaggio da Reference.

Una funzione ricorsiva è una funzione che si denomina. E questo processo è denominato ricorrenza.

Passare da Value Functions

I parametri della funzione quadrata nell'esempio precedente sono passati da valore. Ciò significa che soltanto una copia della variabile è stata passata alla funzione. Alcuni cambiamenti al valore non saranno riflessi di nuovo alla funzione di chiamata.

Il seguente esempio usa il pass-da-valore e cambia il valore del parametro passato, che non ha effetto sulla funzione di chiamata. Il count_down di funzione è stato vuoto così dichiarato come non ci è tipo di ritorno.

#include <stdio.h>
void count_down(int x);

int main()
{
int counter;

for (counter=1; counter<=10; counter++)
count_down(counter);
return 0;
}
void count_down(int x)
{
int counter;
for (counter = x; counter > 0; counter--)
{
printf("%d ", x);
x--;
}
putchar('\n');
}

L'uscita del programma sarà visualizzata come segue:

1
2 1
3 2 1
4 3 2 1
5 4 3 2 1
6 5 4 3 2 1
7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
9 8 7 6 5 4 3 2 1
10 9 8 7 6 5 4 3 2 1

 

Sample Chapters from book DATA RECOVERY WITH AND WITHOUT PROGRAMMING by Author Tarun Tyagi
Data Recovery with & without Programming


Publishers of the Book
Number of Pages
ISBN
Price of the Book


BPB Publications, New Delhi, India
540
81-7656-922-4
$69.00 (Including Shipping Charges, Cost of Book and Other expenses, Free Source Code CD included with the Book)





Buy Data recovery Book

Previous page

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20

 
 

page 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37

 
 

page 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54

 
 

page 55 | 56 | 57 | 58 | 59 | 60

Next page

© Copyright 2002-2005 DataDoctor.Biz

Home | Contact us | Downloads | Services | Terms and conditions | Site map

Website Data Recovery | recuperación de Datos | Récupération de données | Datenrettung | Recupero dati | データ復旧 | 데이터 복구 | 数据恢复 | Восстановление данных | De terugwinning van gegevens | Ανάκτηση δεδομένων
Sitemap Site map1 2 3 4 | Spanish1 2 3 | French1 2 3 | German1 2 3 | Italian1 2 3 | Portuguese1 2 3 | Japanese1 2 3 | Korean1 2 3 | Chinese1 2 3 | Russian1 2 3 | Dutch1 2 3 | Greek1 2 3
Data Recovery Book English | Spanish | French | German | Italian | Portuguese | Japanese | Korean | Chinese | Russian | Dutch | Greek