Изменить количество параметров функции - C (СИ)
Формулировка задачи:
в функцию fn передается два параметра: *w и n.. нужно сделать так, чтобы передавался только *w, а n сделать через ретен
Листинг программы
- #include<stdio.h>
- int r,t;
- int fn(char *w, int n)
- { r++;
- if (*w == '\0')
- return 0;
- n += fn(w + 1, n);
- char *temp = w;
- if (*temp > 47 && *temp < 58)
- n += ((int)*temp) - 48;
- return n;
- }
- int root(char* snum)
- { t++;
- int n = 0;
- n = fn(snum, n);
- if (n<10)return n;
- int s = 0;
- char newmas[100];
- int i = 0;
- while (n > 0)
- {
- s = n % 10;
- n /= 10;
- *(newmas+i) = (s + 48);
- i++;
- }
- *(newmas + i) = '\0';
- printf("[%s]", newmas);
- root(newmas);
- }
- int main()
- {
- int n = 0;
- char snum[100];
- printf("Enter a number: ");
- gets(snum);
- n = root(snum);
- printf("\nrez=%d %d", n, r+t);
- return 0;
- }
Решение задачи: «Изменить количество параметров функции»
textual
Листинг программы
- int fn(char *w)
- { int n=0; r++;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д