C Program to Compare Two Strings without using Library Function

1. Introduction

This guide shows how to compare two strings in C programming without using library functions. We'll see if they're the same or which one comes first alphabetically.

2. Program Overview

The program will:

1. Get two strings from the user.

2. Go through each character of the strings and compare them.

3. Tell if the strings are the same, or which one comes first.

3. Code Program

#include <stdio.h>  // For input and output

int main() {  // Start of the program

    char str1[100], str2[100];  // Spaces for user's strings
    int i = 0;  // Counter for going through strings

    // Get strings from the user
    printf("Enter the first string: ");
    scanf("%s", str1);

    printf("Enter the second string: ");
    scanf("%s", str2);

    // Go through and compare the strings
    while (str1[i] == str2[i] && str1[i] != '\0') {
        i++;
    }

    if (str1[i] > str2[i]) {
        printf("String 1 comes after String 2.\n");
    } else if (str1[i] < str2[i]) {
        printf("String 1 comes before String 2.\n");
    } else {
        printf("Both strings are the same.\n");
    }

    return 0;  // End the program

}

Output:

Enter the first string: apple
Enter the second string: apricot
String 1 comes before String 2.

4. Step By Step Explanation

1. #include <stdio.h>: Adds input/output functions.

2. int main(): Start of our program.

3. Variable and Array Declaration:

  • str1 and str2 store the user's strings.
  • i is a counter used to go through strings.

4. User Input:

  • printf asks users for two strings.
  • scanf puts these strings into 'str1' and 'str2'.

5. String Comparison:

  • A while loop checks the characters of both strings.
  • The loop goes on if characters are the same and it's not the end of a string.
  • After the loop, conditions check the order of strings.

6. Display Results:

  • The program says if the strings are the same or which one comes first. 

This program helps to see how strings are compared, one character at a time.

Comments