Принять целое число и вывести на экран в обратном порядке цифры этого числа - C (СИ)

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

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

Итак. Программа принимает целое число и выводит на экран в обратном порядке цифры этого числа(например: число 1234 выводит 4, 3, 2, 1) Функция number() принимает это число, а функция table() возвращает массив цифр этого числа. Вопрос вот в чем. Для чего перед названием функции table() мы ставим знак указателя(т.е. int *table(int n))Что даёт этот указатель, зачем он нужен, почему он так необходим? Смысл его применения в данном случае или вообще? Удалил указатель. Проверил что будет. Программа как работала так и работает дальше, но компилируется со следующим warning'ом:

malloctab.c: In function ‘table’: malloctab.c:28:1: warning: return makes integer from pointer without a cast [enabled by default]

Все же указатель перед названием функции нужен, но зачем вот в чем вопрос.
Листинг программы
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int number(){
  4. float n;
  5. do{
  6. printf("Enter the integer number >0 and <100000\n"$
  7. scanf("%f",&n);
  8. }while(n<0 || n>100000 || n != (int)n);
  9. return (int)n;
  10. }
  11. int *table(int n){//в данной строке, данный указатель
  12. int p = n;
  13. int i=0, j;
  14. while(p!=0){
  15. p=p/10;
  16. i++;
  17. }
  18. int *tab = (int*)malloc(sizeof(int)*i);
  19. j=i-1;
  20. while(n!=0){
  21. tab[j]=n%10;
  22. printf("%d, ", tab[j]);
  23. n=n/10;
  24. j--;
  25. }
  26. return tab;
  27. }
  28. int main(){
  29. int i;
  30. printf("You number is %d\n",i=number());
  31. table(i);
  32. return 0;
  33. }

Решение задачи: «Принять целое число и вывести на экран в обратном порядке цифры этого числа»

textual
Листинг программы
  1. int *tab = (int*)malloc(sizeof(int)*i);

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

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

  1. Вводится целое число.
  2. Выделяется память под массив указателей на int с размером i.
  3. Каждый элемент массива инициализируется нулем.
  4. Происходит обращение к каждому элементу массива и вывод его значения в обратном порядке. Список действий:
  5. Ввод целого числа - i
  6. Выделение памяти под массив указателей на int - tab
  7. Инициализация элементов массива нулями - tab[0], tab[1], ..., tab[i-1].
  8. Обращение к каждому элементу массива и вывод его значения в обратном порядке - tab[i-1], tab[i-2], ..., tab[0].

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


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

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

6   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы