A char variable is actually an 8-bit integral value. It will have values from 0 to 255. These are almost always ASCII codes, but other encodings are allowed. 0 stands for the C-null character, and 255 stands for an empty symbol.
So, when you write the following assignment:
char a = 'a';It is the same thing as this on an ASCII system.
char a = 97;So, you can compare two char variables using the >, <, ==, <=, >= operators:
char a = 'a'; char b = 'b'; if( a < b ) printf("%c is smaller than %c", a, b); if( a > b ) printf("%c is smaller than %c", a, b); if( a == b ) printf("%c is equal to %c", a, b);Note that even if ASCII is not required, this function will work because C requires that the digits are in consecutive order:
int isdigit(char c) { if(c >= '0' && c <= '9') return 1; return 0; }Created: December-15, 2020 | Updated: October-17, 2021 This tutorial introduces how to compare char in C. A char variable is an 8-bit integral
value, from 0 to 255. Here, 0 stands for the C-null character, and 255 stands for an empty symbol. A char variable has its own ASCII value. So the characters are compared according to the ASCII values. The complete program is as below: Output: The strcmp() function is defined in the string header file and used to compare two strings character by character. If both strings’ first characters are equal, the next character of the two strings will be compared. It continues till the corresponding characters of both strings are either different or a null character
'\0' is reached.Compare Char in C Using the Comparison Operators
Compare Char in C Using the strcmp() Function in C
The syntax for strcmp() function is as below.
int strcmp (const char* firstStringValue, const char* secondStringValue);- If two strings are equal or identical, it returns 0.
- If the ASCII value of the first unmatched character is greater than the second, It returns a positive integer value
- If the ASCII value of the first unmatched character is less than the second,it returns a negative integer value.
The complete program to compare two strings is as below:
#include<stdio.h> #include<stdlib.h> #include<string.h> int main(void) { char firstString= "b", secondString= "b",thirdString= "B"; int result; result= strcmp(&firstString, &secondString); printf("strcmp(firstString, secondString) = %d\n", result); result = strcmp(&firstString, &thirdString); printf("strcmp(firstString,thirdString) = %d\n", result); return 0; }The output is:
strcmp(firstString, secondString) = 0 strcmp(firstString, thirdString) = 1Write for us
DelftStack articles are written by software geeks like you. If you also would like to contribute to DelftStack by writing paid articles, you can check the write for us page.
Related Article - C Char
Home » C solved programs
In this code snippet/program/example we will learn how to compare two characters in c programming language?
Here we will implement this program “c program to compare two characters” using two methods. First will be simple method in which we will take two characters and compare them, and second we will create a user define function that will take two arguments and returns 0 or -1.
This program will read two character values from the user and compare them, if the characters are equal program will print “Characters are equal” and if characters are not equal, program will print “Characters are not equal”.
We will also compare characters using user define function, function name will be compareCharacters(). This function will take two characters as arguments. If characters are equal function will return 0 otherwise function will return -1.
C Code Snippet/ Program - Compare Two Characters in C programming language
/*C - Program to compare two characters.*/ #include<stdio.h> int main(){ char c1,c2; printf("Enter two characters: "); scanf("%c %c",&c1,&c2); //space b/w %c and %c if(c1==c2) printf("Characters are equal.\n"); else printf("Characters are not equal.\n"); return 0; }Using user define function
#include<stdio.h> char compareCharacters(char a,char b){ if(a==b) return 0; else return -1; } int main(){ char c1,c2; printf("Enter two characters: "); scanf("%c %c",&c1,&c2); //space b/w %c and %c if(compareCharacters(c1,c2)==0) printf("Characters are equal.\n"); else printf("Characters are not equal.\n"); return 0; }Output
First run: Enter two characters: x x Characters are equal. Second run: Enter two characters: x y Characters are not equal.