Open In App

%n in scanf() in C with Example

In C, %n is a special format specifier. In the case of printf() function the %n assign the number of characters printed by printf(). When we use the %n specifier in scanf() it will assign the number of characters read by the scanf() function until it occurs. 

Key points:



Syntax:



scanf("%[^\n]", variable_name);

Below is the program to demonstrate the working of %n in scanf():
 




// C++ to demonstrate %n in scanf()
#include <stdio.h>
  
// Driver Code
int main()
{
    int check;
    int a, b;
  
    // Input two variables
    scanf("%d%d%n", &a, &b, &check);
  
    // Print value of a, b, and check
    printf("%d\n%d\n%d", a, b, check);
    return 0;
}


Input:
Below is the input to the above code:

Output:
Below is the output to the above code:

Explanation:
scanf() function assigns the 10 and 20 in a and b respectively and 5 in variable check because there are 5 characters read by scanf function(including spaces).
Article Tags :