Before getting into what c and s are in c programming, one should have some basic knowledge about the programming itself.
C is a programming language that was developed by a man called Dennis Ritchie in 1969 at the AT&T Bell Labs, it’s known as a function-driven programming language. It has a lasting use in operation systems, device drivers, and protocol stacks, moreover, it’s commonly used in computer architectures that can range from a large supercomputer to the small microcontrollers as well as embedded systems.
C is considered an imperative procedural language that supports structured programming, lexical variable scope, as well as recursion, with a system, called a static type system. It was designed to provide low-level access to memory and language constructs that can map easily to machine instructions with minimum runtime support. Furthermore, this programming language was also designed in order to encourage cross-platform programming.
Since 2000, C has been ranked among the top languages, which proves that it’s quite an incredible tool.
Here is a list of some of the best features of the C programming language:
- It contains fixed numbers of keywords and has a controlled collection of primitives, for example for, do, or if.
- It consists of several mathematical and logical operators.
- It’s capable of applying multiple assignments in only a single statement.
- It has a basic form of modularity and files can be compiled as well as linked separately.
- It controls the function and visibility of objects to other files by external or static attributes.
As we have understood what C programming is and what it is supposed to do, let’s dive into what c and s are in it.
%c is used for a single character, while %s is used for a string. A string is a sequence of characters that are stored in the contiguous memory locations. %c is used for scanning the character type input from the users, moreover using %c means, that only a single character will be printed. The main difference between these two specifiers is that %s is expected a pointer with a null-terminated string, while %c is expected of a character.
%c
denotes a Character- Character: a
%s
denotes a String- String: Hello
Moreover, in C, String, as well as characters, are declared by using char
keyword.

There are other format specifiers that one should have knowledge about, thus here is a table for some of them.
Format Specifier | Used For |
%hi | Short (signed) |
%hu | Short (unsigned) |
%Lf | Long double |
%n | Prints nothing |
%i | A decimal integer (it detects the base automatically) |
%x | A hexadecimal (base 16) integer |
%d | A decimal (base 10) integer |
Keep reading to know more.
What does %c mean in c?

%c is a format specifier, and it denotes a character, meaning when we use it, only one character will be printed. In %c, a single character is a single symbol that can either represent a letter or a number.
When a single character is entered by a user in the program, the character itself can’t be stored, instead, an integer value (ASCII value) will be stored. Furthermore, when we put that value by using the %c text format, the character which was entered by the user will be displayed. %c is basically used to scan the character type input from the users.
There is a %c specifier in other programming languages too, and it means the same.
Yes, there is another programming language as well, C is the basic one, however, it doesn’t mean that it doesn’t work as well as other programming languages.
Here is a video that will teach you how to choose the best programming language, and talks about almost all the programming languages.
What does %s mean in c code?
%s is a format specifier which is used for a string, by string it means, a set of characters. These characters are stored in the contiguous memory locations when the users enter those characters.
If you are using %s then the set of characters will print till the compiler get ‘/0’ (end of the string) when you are declaring a string by default ‘/0’ attached in the string, or else if ‘/0’ isn’t there then the compiler will be printing the whole memory.
One should keep in mind that, A String when declaring in an explicit manner requires to have an End of String Character \0
.
Furthermore, Contiguous Variables which include an array of strings, don’t require Address Of as well as operator for their usage in functions, like printf()
and scanf()
. In addition, an Array Name can be used to refer to the first element.
Lastly, the array or string of characters must begin from {}
instead of []
.
What does %d do?

Just like %s and %c format specifiers, there are many more that are needed for different purposes, one of them is %d. As %c is used for a single character and %s is used for a string, %d is used for the specification of a signed decimal integer.
%d can tell the print function that the corresponding argument will be treated as an integer value. The type of such corresponding argument should be int.
What does a format specifier even do? Well, a format specifier can tell you what type of data should be stored and printed and %d is the representation of the signed decimal integer.
We use printf() function with the %d format specifier in order to put or show the value of an integer variable. Same as %c is used to show a single character, %f is for float variables, %s is for string variables, and %x is for hexadecimal variables.
What does %S and %D mean in C?
%s means a string character, while %d means a signed decimal integer. Every format specifier is there for a reason and the reason for %s is that it’s used if the user has to enter a string of characters, while %d is used to specify the signed decimal integer.

Here are some things that one should know about %s and %d format specifiers.
- By using %s, the set of characters will be printed till the get ‘/0’.
- A String while declaring explicitly will require to consist End of String Character
\0
. - Contiguous Variables don’t need the Address Of and operator if the functions are being used.
- An Array Name refers to the first element.
- An array or string of characters should have a start from {} instead of [].
- %d can tell printf if the corresponding argument will be treated as an integer value.
- These types of corresponding arguments must be int.
To Conclude
C is a programming language created by Dennis Ritchie in 1969 at the AT&T Bell Labs. C programming coding language is a function-driven programming language. C is an imperative procedural language that supports structured programming, lexical variable scope, and recursion, with a static type system.
%c is used for a single character, whereas %s is used for a string.
A string is a collection of characters, like hello, that are stored in contiguous memory locations.
%c can scan the character type input from the users and by using %c, then only a single character will be printed.
There are many more format specifiers that are used for different purposes, for instance, %i, which is used for a decimal integer and can detect the base automatically, and %x is used for a hexadecimal integer.