fbpx

C Programing-Questions On Pointers : Exercises, Practice, Solution

Write a C program to swap two integers using pointers.

#include <stdio.h>

void swap(int *a, int *b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}

int main() {
    int x = 5, y = 10;
    
    printf("Before swapping: x = %d, y = %d\n", x, y);
    
    swap(&x, &y);
    
    printf("After swapping: x = %d, y = %d\n", x, y);
    
    return 0;
}

Write a C program to find the sum of elements in an array using pointers.

#include <stdio.h>

int arraySum(int *arr, int size) {
    int sum = 0;
    for (int i = 0; i < size; i++) {
        sum += *(arr + i);
    }
    return sum;
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);
    
    printf("Sum of array elements: %d\n", arraySum(arr, size));
    
    return 0;
}

Write a C program to reverse a string using pointers.

#include <stdio.h>
#include <string.h>

void reverseString(char *str) {
    int length = strlen(str);
    char *start = str;
    char *end = str + length - 1;
    
    while (start < end) {
        char temp = *start;
        *start = *end;
        *end = temp;
        start++;
        end--;
    }
}

int main() {
    char str[] = "hello";
    
    printf("Before reversing: %s\n", str);
    
    reverseString(str);
    
    printf("After reversing: %s\n", str);
    
    return 0;
}

Write a C program to find the maximum element in an array using pointers.

#include <stdio.h>

int findMax(int *arr, int size) {
    int max = *arr;
    for (int i = 1; i < size; i++) {
        if (*(arr + i) > max) {
            max = *(arr + i);
        }
    }
    return max;
}

int main() {
    int arr[] = {5, 10, 3, 8, 15};
    int size = sizeof(arr) / sizeof(arr[0]);
    
    printf("Maximum element in array: %d\n", findMax(arr, size));
    
    return 0;
}

Write a C program to count the number of vowels in a string using pointers.

#include <stdio.h>
#include <ctype.h>

int countVowels(char *str) {
    int count = 0;
    while (*str != '\0') {
        char c = tolower(*str);
        if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') {
            count++;
        }
        str++;
    }
    return count;
}

int main() {
    char str[] = "Hello, World!";
    
    printf("Number of vowels: %d\n", countVowels(str));
    
    return 0;
}

Write a C program to concatenate two strings using pointers.

#include <stdio.h>

void concatenateStrings(char *dest, const char *src) {
    while (*dest != '\0') {
        dest++;
    }
    while (*src != '\0') {
        *dest = *src;
        dest++;
        src++;
    }
    *dest = '\0';
}

int main() {
    char str1[20] = "Hello";
    char str2[] = " World!";
    
    concatenateStrings(str1, str2);
    
    printf("Concatenated string: %s\n", str1);
    
    return 0;
}

Write a C program to count the occurrences of a character in a string using pointers.

#include <stdio.h>

int countOccurrences(char *str, char ch) {
    int count = 0;
    while (*str != '\0') {
        if (*str == ch) {
            count++;
        }
        str++;
    }
    return count;
}

int main() {
    char str[] = "hello world";
    char ch = 'l';
    
    printf("Occurrences of '%c': %d\n", ch, countOccurrences(str, ch));
    
    return 0;
}

Write a C program to check if a string is a palindrome using pointers.

#include <stdio.h>
#include <stdbool.h>
#include <string.h>

bool isPalindrome(char *str) {
    int length = strlen(str);
    char *start = str;
    char *end = str + length - 1;
    
    while (start < end) {
        if (*start != *end) {
            return false;
        }
        start++;
        end--;
    }
    return true;
}

int main() {
    char str[] = "radar";
    
    if (isPalindrome(str)) {
        printf("The string is a palindrome.\n");
    } else {
        printf("The string is not a palindrome.\n");
    }
    
    return 0;
}

Write a C program to find the length of a string using pointers.

#include <stdio.h>

int stringLength(char *str) {
    int length = 0;
    while (*str != '\0') {
        length++;
        str++;
    }
    return length;
}

int main() {
    char str[] = "hello";
    
    printf("Length of string: %d\n", stringLength(str));
    
    return 0;
}

Write a C program to copy one string to another using pointers.

#include <stdio.h>

void stringCopy(char *dest, const char *src) {
    while (*src != '\0') {
        *dest = *src;
        dest++;
        src++;
    }
    *dest = '\0';
}

int main() {
    char str1[20];
    char str2[] = "Hello";
    
    stringCopy(str1, str2);
    
    printf("Copied string: %s\n", str1);
    
    return 0;
}

Write a C program to find the factorial of a number using pointers.

#include <stdio.h>

int factorial(int n) {
    int result = 1;
    for (int i = 1; i <= n; i++) {
        result *= i;
    }
    return result;
}

int main() {
    int num = 5;
    
    printf("Factorial of %d: %d\n", num, factorial(num));
    
    return 0;
}

Write a C program to sort an array of integers using pointers.

#include <stdio.h>

void bubbleSort(int *arr, int size) {
    for (int i = 0; i < size - 1; i++) {
        for (int j = 0; j < size - i - 1; j++) {
            if (*(arr + j) > *(arr + j + 1)) {
                int temp = *(arr + j);
                *(arr + j) = *(arr + j + 1);
                *(arr + j + 1) = temp;
            }
        }
    }
}

int main() {
    int arr[] = {5, 2, 8, 1, 4};
    int size = sizeof(arr) / sizeof(arr[0]);
    
    bubbleSort(arr, size);
    
    printf("Sorted array: ");
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
    
    return 0;
}

Write a C program to reverse an array using pointers.

#include <stdio.h>

void reverseArray(int *arr, int size) {
    int *start = arr;
    int *end = arr + size - 1;
    
    while (start < end) {
        int temp = *start;
        *start = *end;
        *end = temp;
        start++;
        end--;
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);
    
    reverseArray(arr, size);
    
    printf("Reversed array: ");
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
    
    return 0;
}

Write a C program to check if two strings are anagrams using pointers.

#include <stdio.h>
#include <stdbool.h>
#include <string.h>

bool areAnagrams(char *str1, char *str2) {
    int count[256] = {0};
    
    while (*str1 != '\0') {
        count[(int)*str1]++;
        str1++;
    }
    while (*str2 != '\0') {
        count[(int)*str2]--;
        str2++;
    }
    for (int i = 0; i < 256; i++) {
        if (count[i] != 0) {
            return false;
        }
    }
    return true;
}

int main() {
    char str1[] = "listen";
    char str2[] = "silent";
    
    if (areAnagrams(str1, str2)) {
        printf("The strings are anagrams.\n");
    } else {
        printf("The strings are not anagrams.\n");
    }
    
    return 0;
}

Write a C program to find the largest and smallest elements in an array using pointers.

#include <stdio.h>

void findMinMax(int *arr, int size, int *max, int *min) {
    *max = *min = *arr;
    for (int i = 1; i < size; i++) {
        if (*(arr + i) > *max) {
            *max = *(arr + i);
        }
        if (*(arr + i) < *min) {
            *min = *(arr + i);
        }
    }
}

int main() {
    int arr[] = {5, 10, 3, 8, 15};
    int size = sizeof(arr) / sizeof(arr[0]);
    int max, min;
    
    findMinMax(arr, size, &max, &min);
    
    printf("Largest element: %d\n", max);
    printf("Smallest element: %d\n", min);
    
    return 0;
}

Write a C program to multiply two matrices using pointers.

#include <stdio.h>

void matrixMultiply(int *mat1, int *mat2, int *result, int rows1, int cols1, int cols2) {
    for (int i = 0; i < rows1; i++) {
        for (int j = 0; j < cols2; j++) {
            *(result + i * cols2 + j) = 0;
            for (int k = 0; k < cols1; k++) {
                *(result + i * cols2 + j) += *((mat1 + i * cols1) + k) * *((mat2 + k * cols2) + j);
            }
        }
    }
}

void displayMatrix(int *matrix, int rows, int cols) {
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            printf("%d ", *((matrix + i * cols) + j));
        }
        printf("\n");
    }
}

int main() {
    int mat1[2][3] = {
        {1, 2, 3},
        {4, 5, 6}
    };
    int mat2[3][2] = {
        {7, 8},
        {9, 10},
        {11, 12}
    };
    int result[2][2];
    
    matrixMultiply((int *)mat1, (int *)mat2, (int *)result, 2, 3, 2);
    
    printf("Resultant matrix:\n");
    displayMatrix((int *)result, 2, 2);
    
    return 0;
}


Write a program in C to print all the alphabets using a pointer.

#include <stdio.h>

int main() {
    char *ptr; // Declare a pointer to char
    
    printf("Alphabets: ");
    
    // Initialize the pointer to point to the starting address of the alphabet 'A'
    ptr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    
    // Loop through the string until the null terminator is reached
    while (*ptr != '\0') {
        printf("%c ", *ptr); // Print the character at the current pointer location
        ptr++; // Move the pointer to the next character
    }
    
    printf("\n");
    
    return 0;
}

Write a C program to print all the digits from 0 to 9 using a pointer.

#include <stdio.h>

int main() {
    char *ptr; // Declare a pointer to char
    
    printf("Digits: ");
    
    // Initialize the pointer to point to the starting address of the digits '0' to '9'
    ptr = "0123456789";
    
    // Loop through the string until the null terminator is reached
    while (*ptr != '\0') {
        printf("%c ", *ptr); // Print the character at the current pointer location
        ptr++; // Move the pointer to the next character
    }
    
    printf("\n");
    
    return 0;
}

Write a C program to print all the lowercase letters from ‘a’ to ‘z’ using a pointer.

#include <stdio.h>

int main() {
    char *ptr; // Declare a pointer to char
    
    printf("Lowercase letters: ");
    
    // Initialize the pointer to point to the starting address of the lowercase letters 'a' to 'z'
    ptr = "abcdefghijklmnopqrstuvwxyz";
    
    // Loop through the string until the null terminator is reached
    while (*ptr != '\0') {
        printf("%c ", *ptr); // Print the character at the current pointer location
        ptr++; // Move the pointer to the next character
    }
    
    printf("\n");
    
    return 0;
}

On Key

Related Posts

SQL Quries

A Comprehensive Guide to MySQL Queries

MySQL is a widely-used relational database management system that allows for the creation, modification, and management of databases using SQL (Structured Query Language). In this guide, we’ll cover the essential MySQL queries with examples and tables to help you master the basics. Creating a Database Before you can create tables, you need a database. Use

Java All key Concets

Mastering Java: Key Concepts and Examples for Beginners

Welcome to Pivoteduunit’s comprehensive guide to Java programming! This post is designed to help you understand the essential concepts and provide you with practical examples to kickstart your coding journey. Whether you’re new to Java or looking to solidify your basics, we’ve got you covered. Variables Explanation: Variables are containers for storing data values. Data

Overloading and Overriding

Java- Method Overloading and Overriding

Method Overloading Method overloading in Java allows a class to have more than one method with the same name, as long as their parameter lists are different. Overloading is determined at compile-time and is a form of compile-time polymorphism. Rules for Method Overloading: Explanation: In the MathOperations class, there are three overloaded add methods. The

Java Inheritance Programs

Java Inheritance: Exercises, Practice, Solution

In Java, classes can be derived from other classes, allowing them to inherit fields and methods from the parent classes. Definitions: Except for Object, which has no superclass, every class has exactly one direct superclass (single inheritance). If no other explicit superclass is declared, every class implicitly extends Object. Classes can be derived from other