![]() |
VOOZH | about |
C is a procedural programming language. It was initially developed by Dennis Ritchie as a system programming language to write an operating system. The main features of the C language include low-level access to memory, a simple set of keywords, and a clean style, these features make C language suitable for system programmings like operating systems or compiler development. This article focuses on how to take a character, a string, and a sentence as input in C.
Reading a Character in C
Problem Statement#1: Write a C program to read a single character as input in C.
Syntax-
scanf("%c", &charVariable);
Approach-
Reading a Word in C
Problem Statement#2: Write a C program to read words as input from the user.
Syntax-
scanf("%s", stringvariable);
Approach-
Note:
An array name itself indicates its address. word == &word[0], these are both the same.It's because the variable name word points to the first element of the array. So, there is no need to mention ampersand in scanf().
Reading a Sentence in C
Problem Statement#3: Write a C program to read sentences as input from the user.
Method 1-
Syntax-
scanf("%[^\n]s", sen)
👁 Read scentencescanf("%[^\n]s", sen) means to read a string including spaces until the next line is received or to read string until line break i.e. \n is encountered and store it on an array named "sen".
It'll stop reading after the first occurrence of that character f (specified in the scanset).
Method 2- Using fgets
Note- gets() never checks the maximum limit of input characters. Hence they may cause undefined behavior and probably lead to buffer overflow error which eventually causes the program to crash. Hence, it is advisable not to use the gets function to read strings. To overcome the above limitation, fgets can be used.
Syntax-
char *fgets(char *str, int size, FILE *stream)