Я знаю, что мы можем изменить строковые благодаря функции как этотКак изменить 2d массив, переданный функции
void c(char *s)
{
int i = 0;
while (s[i])
s[i++] = 's';
}
int main()
{
char str[] = "hello";
c(str);
printf("%s\n", str);
return (0);
}
В этом случае он будет печатать «SSSSS».
Но как я могу изменить массив 2d так же, как и для строки? Я имею в виду без возврата массива.
void c(char **s)
{
int i = 0;
int j = 0;
while (s[i])
{
j = 0;
while (s[i][j])
{
s[i][j++] = 's';
}
i++;
}
}
int main()
{
char tab[2][2];
tab[0][0] = 'a';
tab[0][1] = 'b';
tab[1][0] = 'c';
tab[1][1] = 'd';
c(tab);
printf("%c%c\n%c%c", tab[0][0], tab[0][1], tab[1][0], tab[1][1]);
return (0);
}
Вот идея, как мы могли это сделать.
Надеюсь, я был достаточно ясен?
Как вызвать функцию? Я пробовал func (s), но он не работает :( – Beben
Спасибо, что ответили :) – Beben