• Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

Computer Notes

Library
    • Computer Fundamental
    • Computer Memory
    • DBMS Tutorial
    • Operating System
    • Computer Networking
    • C Programming
    • C++ Programming
    • Java Programming
    • C# Programming
    • SQL Tutorial
    • Management Tutorial
    • Computer Graphics
    • Compiler Design
    • Style Sheet
    • JavaScript Tutorial
    • Html Tutorial
    • Wordpress Tutorial
    • Python Tutorial
    • PHP Tutorial
    • JSP Tutorial
    • AngularJS Tutorial
    • Data Structures
    • E Commerce Tutorial
    • Visual Basic
    • Structs2 Tutorial
    • Digital Electronics
    • Internet Terms
    • Servlet Tutorial
    • Software Engineering
    • Interviews Questions
    • Basic Terms
    • Troubleshooting
Menu

Header Right

Home » C » Puppetting » strcmp function in C
Next →
← Prev

strcmp function in C

By Dinesh Thakur

A typical call to the strcmp function take the following form:

strcmp( s1, s2)

This function performs a case-sensitive comparison between strings s1 and s2 and returns an integer value as follows: negative number if s1 < s2, zero if s1 == s2 and a positive number if s1 > s2. The return value indicates the lexicographic ordering of strings.

The comparison starts with the first character in each string and continues with subsequent characters until the corresponding characters differ or the end of either or both the strings is reached. During comparison, if a character in one string is smaller, that string is considered as the smaller string and the appropriate value is returned. However, if the characters being compared are equal, the comparison proceeds for the next character. Now, if the end of a string is encountered, that string is considered to be lexicographically smaller than the other string. However, if all characters in both strings are exhausted, with all previous characters being equal, the strings are considered to be lexicographically equal. This is illustrated below with the help of several examples.

First consider the comparison of strings “Hello” and “World”. Initially, the characters ‘H’ and ‘w’ are compared. Since ‘H’ < ‘W’, string “Hello” is considered to be lexicographically smaller and the function returns a negative value. Note that the subsequent characters in strings are not compared in this case.

Next consider the comparison of strings “He1p” and “Hello”. As the first three characters in these strings are equal on comparison, the fourth character pair, ‘p’ and ‘ 1’, is compared. Since ‘p’ > ‘1’, the first string is lexicographically larger than the second string and the function returns a positive value.

Now consider the comparison of strings “Hell” and “Hello”. The first four characters compare equal after which the characters in the first string are exhausted. Thus, string “Hell” is considered to be smaller and the function returns a negative value.

Finally, consider the comparison of two equal strings: “Hello” and “Hello”. In this case, all the characters compare equal. After the comparison of letter ‘o’ in each string, the characters in both strings are exhausted. Thus, the strings are considered to be equal and the function returns a zero value.

The program segment given below reads two strings from the keyboard and compares them

#include <stdio.h> 
 void main() 
 { 
       char str1[20], str2[20]; 
       int res; 
       clrscr(); 
       printf("Enter two strings: "); 
       scanf("%s %s", str1, str2); 
       res= strcmp(str1, str2); 
       if (res < 0) 
           printf("String \"%s\" is smaller than \"%s\"\n", str1, str2); 
       else if (res > 0) 
           printf("String \"%s\" is greater than \"%s\"\n", str1, str2); 
       else printf("String \"%s\" is smaller than \"%s\"\n", str1, str2); 
          getch(); 
 }

The strings are accepted in character arrays strl and str2. Then the strcmp function is used to Compare them (case sensitive comparison)and store the return value in variable res. The value of res is then tested using an if-else-if statement and an appropriate message string is printed. The output of the program containing this code segment is shown below.

            String comparison

You’ll also like:

  1. Write A C++ Program To Compare Strings: Strcmp.
  2. Write A C++ Program To Add, Subtract And Multiply Two Numbers By Using The Function Within Function Concept (Nesting Of Function).
  3. Write A C++ Program To Find The Sum Of: 1! /5+ 2! /4+ 3! /3+ 4! /2+ 5! /1 Without Using Function (Except Main Function). Where! Symbol Indicates Factorial Of Any Number.
  4. Write A C++ Program To Declare Private Member Function And Access It Using Public Member Function.
  5. What is Function Declarations or Function Prototype?
Next →
← Prev
Like/Subscribe us for latest updates     

About Dinesh Thakur
Dinesh ThakurDinesh Thakur holds an B.C.A, MCDBA, MCSD certifications. Dinesh authors the hugely popular Computer Notes blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps.

Dinesh Thakur is a Freelance Writer who helps different clients from all over the globe. Dinesh has written over 500+ blogs, 30+ eBooks, and 10000+ Posts for all types of clients.


For any type of query or something that you think is missing, please feel free to Contact us.


Primary Sidebar

C Programming

C Programming Tutorials

  • C - History
  • C - Anatomy
  • C - Constants
  • C - Identifiers
  • C - Data Types
  • C - Libraries File
  • C - Header Files
  • C - Basic Language
  • C - Data Types Sizes
  • C - Header Files Importance
  • C - Escape Sequences
  • C - Main() Purpose
  • C - Program Procedure
  • C - Control Statements
  • C - Enumeration Constant
  • C - Add numbers
  • C - Return Statement
  • C - Avoid Goto
  • C - Command Line Arguments
  • C - Switch Case
  • C - Switch Case Limitations
  • C - getchar() and putchar()
  • C - Iteration Statements
  • C - Pass by Value and Reference
  • C - Structures and Unions
  • C - Structure
  • C - Dynamic Memory
  • C - Fgets and Fputs Functions
  • C - Gets() and Puts() Functions
  • C - Armstrong Number
  • C - Storage Classes
  • C - Fibonacci Series
  • C - Precision Setting
  • C - const Parameters

C - Variable & It's Type

  • C - Variables
  • C - Variable Lifetime
  • C - Static Variable
  • C - Register Variable
  • C - Global Variables
  • C - Auto Variables
  • C - Local Variables

C - Operator & Expressions

  • C - Operator
  • C - Boolean Operators
  • C - Bitwise Operator
  • C - Arithmetic Operators
  • C - Modulus Operator
  • C - Ternary Operator
  • C - Expressions
  • C - Arithmetic Expressions

C - Array

  • C - Arrays
  • C - Array Types
  • C - Array Characteristics
  • C - Static Arrays
  • C - Global Arrays
  • C - 3D Arrays
  • C - Dynamic Arrays
  • C - Pointer to 3D Arrays
  • C - Array Elements Hold
  • C - Arrays as Function Parameters
  • C - Accessing Matrix Elements
  • C - File Handling
  • C - Matrix Multiplication
  • C - Dynamic Memory Allocation

C - Searching & Sorting

  • C - Data Structures
  • C - Linear Search
  • C - Bubble Sort
  • C - Merge Sort
  • C - Linked List
  • C - Insertion Sort
  • C - Binary Search
  • C - Selection Sort
  • C - Quick Sort

C - Functions

  • C - Functions
  • C - Functions Advantages
  • C - Void Functions
  • C - Function Call
  • C - Default Return Value
  • C - String functions

C - Pointer

  • C - Pointers
  • C - Type Casting Of Pointers
  • C - Pointer Advantages
  • C - Pointers Initialization
  • C - Vectors and Pointers

C - Differences

  • C - C Vs C++
  • C - Formal Args. Vs Actual Args.
  • C - Keywords Vs Identifiers
  • C - Strings Vs Character Arrays
  • C - Address Vs Dereference Operator
  • C - Goto Vs longjmp
  • C - Declaring Vs Defining Variable
  • C - String Vs Array
  • C - Call by Value Vs Reference
  • C - Structure Vs Union
  • C - For Vs While loops
  • C - Compiler Vs Interpreter

C - Programs

  • C Program Standard Deviation
  • C Program Calculate Tax
  • C Program Sum Series
  • C Program Merge Arrays
  • C Program Euclid’s Algorithm
  • C Program Print Weekdays
  • C Program Sum of Digits
  • C Program Print a list
  • C Program Print Pythagorean
  • C Program Quiz program
  • C Program Display Table
  • C Program Print Comma-Separated
  • C Program Prints Prime Numbers
  • C Program for Print Integer
  • C Program Count Number
  • C Program Print Color Name
  • C Program Print Odd Numbers
  • C Program Calculate area
  • C Program for a Menu
  • C Program Add Two Vectors
  • C Program Array Addresses
  • C Program Division by Zero Error
  • C Program Compare two Dates
  • C Program Tower of Hanoi
  • C Program return 3 Numbers
  • C Program for Prime Numbers
  • C Program for Factorial
  • C Program for Palindrome

Other Links

  • C Programming - PDF Version

Footer

Basic Course

  • Computer Fundamental
  • Computer Networking
  • Operating System
  • Database System
  • Computer Graphics
  • Management System
  • Software Engineering
  • Digital Electronics
  • Electronic Commerce
  • Compiler Design
  • Troubleshooting

Programming

  • Java Programming
  • Structured Query (SQL)
  • C Programming
  • C++ Programming
  • Visual Basic
  • Data Structures
  • Struts 2
  • Java Servlet
  • C# Programming
  • Basic Terms
  • Interviews

World Wide Web

  • Internet
  • Java Script
  • HTML Language
  • Cascading Style Sheet
  • Java Server Pages
  • Wordpress
  • PHP
  • Python Tutorial
  • AngularJS
  • Troubleshooting

 About Us |  Contact Us |  FAQ

Dinesh Thakur is a Technology Columinist and founder of Computer Notes.

Copyright © 2025. All Rights Reserved.

APPLY FOR ONLINE JOB IN BIGGEST CRYPTO COMPANIES
APPLY NOW