先决条件: C / C++中的函数C语言中的函数可以带参数调用,也可以不带参数调用。这些函数可能会也可能不会将值返回给调用函数。在C程序中,可以使用带参数或不带参数的方式调用所有C函数。同样,它们可能会也可能不会返回任何值。因此,C语言中函数的函数原型如下:
有以下类别:
- 不带参数和返回值函数:当函数没有参数,它不从调用函数接收任何数据。类似地,当不返回值时,调用函数不会从被调用函数接收任何数据。
句法 :Function declaration : void function(); Function call : function(); Function definition : void function() { statements; }
// C code for function with no // arguments and no return value #include
void value(void); void main() { value(); } void value(void) { int 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); } 输出:
The total amount is 5000.000000
- 带有参数的函数,但没有返回值:当一个函数的参数,它接收来自调用函数的任何数据,但它没有返回值。
句法 :
Function declaration : void function ( int ); Function call : function( x ); Function definition: void function( int x ) { statements; }
// C code for function // with argument but no return value #include
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); } 输出:
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 The given string is : geeksforgeeks
- 函数不带任何参数,但返回值:可能有场合,我们可能需要设计可能不带任何参数,但返回一个值给调用函数的功能。一个示例是getchar函数,它没有参数,但它返回一个整数和表示字符的整数类型数据。
句法 :Function declaration : int function(); Function call : function(); Function definition : int function() { statements; return x; }
// C code for function with no arguments // but have return value #include
#include 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; } 输出:
Sum of two given values = 16
- 与参数和返回值函数
句法 :Function declaration : int function ( int ); Function call : function( x ); Function definition: int function( int x ) { statements; return x; }
// C code for function with arguments // and with return value #include
#include 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; } 输出:
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
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。