×

C Tutorial

C Basics

C Data Types

C Input/Output

C Operators

C Conditional Statements

C Control Statements

C Strings

C Functions

C Arrays

C Structure and Unions

C Pointers

C Preprocessor Directives

C Command-line Arguments

C File Handlings

C Graphics

C Advance Topics

C Tips and Tricks

C Important Topics

C Practice

Too few arguments to function (C language Error)

In this article, we are going to learn about an error which occurs in C programming language when we use less argument while calling a function. If we do this compiler will generate an error "Too few arguments to function".
Submitted by IncludeHelp, on May 15, 2018

Too few arguments to function in C language

This error occurs when numbers of actual and formal arguments are different in the program.

Let’s understand first, what actual and formal arguments are?

Actual arguments are the variables, values which are being passed while calling a function and formal arguments are the temporary variables which we declare while defining a function.

Example

Consider the given example:

int sum(int a, int b, int c)
{
	return  (a+b+c);
}

int main()
{
	int x,y,z;
	x = 10; y = 20; z = 30;
	
	printf("sum = %d\n",sum(x, y, z));
	
	return 0;
}

Here, actual arguments are x, y and z. Formal arguments are a, b and c.

When, the error "too few arguments to function is occurred"?

Remember: Number of actual arguments (the arguments which are going to be supplied while calling the function) must equal to number of formal arguments (the arguments which are declared while defining a function).

This error will occur if the number of actual and formal arguments is different.

Consider the above example, and match with these below given calling statements, these statements will generate errors:

printf("sum = %d\n", sum(x, y));
printf("sum = %d\n", sum(x));
printf("sum = %d\n", sum(10, 20));

Example: (by calling functions with less number of arguments)

#include <stdio.h>

int sum(int a, int b, int c)
{
	return  (a+b+c);
}
int main()
{
	int x,y,z;
	x = 10; y = 20; z = 30;
	
	printf("sum = %d\n", sum(x, y));
	printf("sum = %d\n", sum(x));
	printf("sum = %d\n", sum(10, 20));
	
	return 0;
}

Output

prog.c: In function ‘main’:
prog.c:12:23: error: too few arguments to function ‘sum’
  printf("sum = %d\n", sum(x, y));
                       ^~~
prog.c:3:5: note: declared here
 int sum(int a, int b, int c)
     ^~~
prog.c:13:23: error: too few arguments to function ‘sum’
  printf("sum = %d\n", sum(x));
                       ^~~
prog.c:3:5: note: declared here
 int sum(int a, int b, int c)
     ^~~
prog.c:14:23: error: too few arguments to function ‘sum’
  printf("sum = %d\n", sum(10, 20));
                       ^~~
prog.c:3:5: note: declared here
 int sum(int a, int b, int c)
     ^~~
prog.c:9:10: warning: variable ‘z’ set but not used [-Wunused-but-set-variable]
  int x,y,z;
          ^

So, while calling a function, you must check the total number of arguments. So that you can save your time by this type of errors.

Example: (by calling functions with correct number of arguments)

#include <stdio.h>

int sum(int a, int b, int c)
{
	return  (a+b+c);
}
int main()
{
	int x,y,z;
	x = 10; y = 20; z = 30;
	
	printf("sum = %d\n", sum(x, y, z));
	printf("sum = %d\n", sum(x,y,z));
	printf("sum = %d\n", sum(10, 20,30));
	
	return 0;
}

Output

sum = 60
sum = 60
sum = 60



Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.