Переписать код с использованием указателей - C (СИ) (149109)

Узнай цену своей работы

Формулировка задачи:

Есть код на C,надо заменить на указатели.
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int prov(int a)
{
    int d = 0;
    while(a != 0) {
        d = d * 10 +a%10;
        a/=10;
    }
    return d;
}
int main()
{
    setlocale( LC_ALL,"Russian" );
    printf ("Введите число ,которое надо проверить на симметричность.\n");
    int n,i;
    scanf("%d", &n);
    int r[3];
    printf("%s\n", (prov(n) == n) ? "Это симметрично число" : "Это не симметрично число ");
    for(i = 0; i < 3; i++) 
    {
    r[i] = n % 10;
    printf("%d", r[i]);
    n/=10;
    }
}

Решение задачи: «Переписать код с использованием указателей»

textual
Листинг программы
for(int *ptr= &r[0]; ptr < &r[3]; ptr++) 
{
    *ptr= n % 10;
    printf("%d ", *ptr);
}

Объяснение кода листинга программы

В данном коде выполняется следующая последовательность действий:

  1. Указатель ptr инициализируется адресом первого элемента массива r.
  2. В цикле выполняется условие, что ptr меньше адреса последнего элемента массива r.
  3. Внутри цикла в каждый элемент массива r, на который указывает ptr, записывается остаток от деления числа n на 10.
  4. После каждого действия в цикле выводится на экран значение элемента массива r, на который указывает ptr, с помощью функции printf.
  5. Значение n не используется в данном коде.
  6. Каждое действие в цикле выполняется до тех пор, пока ptr не станет адресом последнего элемента массива r.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы