your image

Character arithmetic in C and C++ - GeeksforGeeks

geeks for geeks
Related Topic
:- C language C++ language programming languages

Character arithmetic in C and C++

  • Difficulty Level : Easy
  • Last Updated : 18 Dec, 2020

As already known character range is between -128 to 127 or 0 to 255. This point has to be kept in mind while doing character arithmetic. To understand better let’s take an example.

  • C

 

 

 

// C program to demonstrate character arithmetic.

#include <stdio.h>

 

int main()

{

    char ch1 = 125, ch2 = 10;

    ch1 = ch1 + ch2;

    printf("%d\n", ch1);

    printf("%c\n", ch1 - ch2 - 4);

    return 0;

}

Output: 

-121y

So %d specifier causes an integer value to be printed and %c specifier causes a character value to printed. But care has to taken that while using %c specifier the integer value should not exceed 127. 
So far so good.
But for c++ it plays out a little different.

Look at this example to understand better. 

  • C++

 

 

 

// A C++ program to demonstrate character

// arithmetic in C++.

#include <bits/stdc++.h>

using namespace std;

 

int main()

{

    char ch = 65;

    cout << ch << endl;

    cout << ch + 0 << endl;

    cout << char(ch + 32) << endl;

    return 0;

}

Output: 

A65a

Without a ‘+’ operator character value is printed. But when used along with ‘+’ operator behaved differently. Use of ‘+’ operator implicitly typecasts it to an ‘int’. So to conclude, in character arithmetic, typecasting of char variable to ‘char’ is explicit and to ‘int’ it is implicit. 

Comments