Clicky Skip to Content

The Difference Between %c & %s in C Programming

The Difference Between %c & %s in C Programming

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.

a compute screen with a bunch of codes
Since 2000, C has been ranked among the top languages.

There are other format specifiers that one should have knowledge about, thus here is a table for some of them.

Format SpecifierUsed For
%hiShort (signed)
%huShort (unsigned)
%LfLong double
%nPrints nothing
%iA decimal integer (it detects the base automatically)
%xA hexadecimal (base 16) integer
%dA decimal (base 10) integer
Format specifiers and their uses.

Keep reading to know more.

What does %c mean in c?

a person on their laptop
There is a %c specifier in other programming languages too.

%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.

How to Select Your First Programming Language

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?

lines of codes
A format specifier can tell you what type of data should be stored and printed.

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.

a person on their computer
Along with many format specifiers, %s and %d are used in C programming language or any other programming language.

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.

Other Articles

Skip to content