Requisito previo: funciones en C/C++ Una función en C se puede llamar con argumentos o sin argumentos. Estas funciones pueden o no devolver valores a las funciones de llamada. Todas las funciones de C se pueden llamar con argumentos o sin argumentos en un programa de C. Además, pueden o no devolver ningún valor. Por lo tanto, el prototipo de función de una función en C es el siguiente: |
- Función sin argumento y sin valor de retorno: cuando una función no tiene argumentos, no recibe ningún dato de la función que llama. De manera similar, cuando no devuelve un valor, la función que llama no recibe ningún dato de la función llamada. Sintaxis:
Function declaration : void function(); Function call : function(); Function definition : void function() { statements; }
C
// C code for function with no // arguments and no return value #include <stdio.h> void value(void); void main() { value(); } void value(void) { float year = 1, period = 5, amount = 5000, inrate = 0.12; float sum; sum = amount; while (year <= period) { sum = sum * (1 + inrate); year = year + 1; } printf(" The total amount is %f:", sum); }
Producción
The total amount is 8811.708984:
- Función con argumentos pero sin valor de retorno: cuando una función tiene argumentos, recibe datos de la función que llama pero no devuelve valores. Sintaxis:
Function declaration : void function ( int ); Function call : function( x ); Function definition: void function( int x ) { statements; }
C
// C code for function // with argument but no return value #include <stdio.h> void function(int, int[], char[]); int main() { int a = 20; int ar[5] = { 10, 20, 30, 40, 50 }; char str[30] = "geeksforgeeks"; function(a, &ar[0], &str[0]); return 0; } void function(int a, int* ar, char* str) { int i; printf("value of a is %d\n\n", a); for (i = 0; i < 5; i++) { printf("value of ar[%d] is %d\n", i, ar[i]); } printf("\nvalue of str is %s\n", str); }
Producción
value of a is 20 value of ar[0] is 10 value of ar[1] is 20 value of ar[2] is 30 value of ar[3] is 40 value of ar[4] is 50 value of str is geeksforgeeks
- Función sin argumentos pero devuelve un valor: podría haber ocasiones en las que necesitemos diseñar funciones que no tomen ningún argumento pero devuelvan un valor a la función que llama. Un ejemplo de esto es la función getchar que no tiene parámetros pero devuelve un número entero y datos de tipo entero que representan un carácter. Sintaxis:
Function declaration : int function(); Function call : function(); Function definition : int function() { statements; return x; }
C
// C code for function with no arguments // but have return value #include <math.h> #include <stdio.h> int sum(); int main() { int num; num = sum(); printf("\nSum of two given values = %d", num); return 0; } int sum() { int a = 50, b = 80, sum; sum = sqrt(a) + sqrt(b); return sum; }
Producción
Sum of two given values = 16
- Función con argumentos y valor de retorno Sintaxis:
Function declaration : int function ( int ); Function call : function( x ); Function definition: int function( int x ) { statements; return x; }
C
// C code for function with arguments // and with return value #include <stdio.h> #include <string.h> int function(int, int[]); int main() { int i, a = 20; int arr[5] = { 10, 20, 30, 40, 50 }; a = function(a, &arr[0]); printf("value of a is %d\n", a); for (i = 0; i < 5; i++) { printf("value of arr[%d] is %d\n", i, arr[i]); } return 0; } int function(int a, int* arr) { int i; a = a + 20; arr[0] = arr[0] + 50; arr[1] = arr[1] + 50; arr[2] = arr[2] + 50; arr[3] = arr[3] + 50; arr[4] = arr[4] + 50; return a; }
Producción
value of a is 40 value of arr[0] is 60 value of arr[1] is 70 value of arr[2] is 80 value of arr[3] is 90 value of arr[4] is 100
Publicación traducida automáticamente
Artículo escrito por Shivani Baghel 1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA