Изменить количество параметров функции - 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++;