scanf can be used in very complicated ways.
#include <stdio.h> void one() { int a, b; printf("Input: "); scanf("%dxx%d", &a, &b); printf("a = %d, b = %d\n", a, b); } void two() { char array[] = {'a', 'b', '\0'}; printf("array: %s\n", array); printf("Input: "); scanf("%2c", array); printf("Result: %s\n", array); } void three() { int result; printf("Input: "); scanf("%2d", &result); printf("result: %d\n", result); } void four() { char str[80]; int i; printf("Enter your family name: "); scanf("%s", str); printf("Enter your age: "); scanf("%d", &i); printf("Mr. %s, %d years old.\n", str, i); printf("Enter a hexadecimal number: "); scanf("%x", &i); printf("You have entered %#x (%d).\n", i, i); } void five() { char str[10]; printf("Input a string: "); scanf("%5s", str); printf("result: %s\n", str); } void six() { char c; printf("Input a character: "); scanf("%c%*[^\n]", &c); printf("The character: %c\n", c); } void seven() { int i = 0; printf("Input: "); scanf("%*[^0-9] %d", &i); printf("i: %d\n", i); } int main(int argc, const char *argv[]) { seven(); return 0; }