Я думаю, что цикл for
больше подходит в этой ситуации. Также параметр должен иметь квалификатор const
, поскольку строка не изменяется в функции.
Функция может выглядеть следующим образом
void test( const char *s )
{
for ( ; *s; ++s )
{
if ( *( s + 1 ) != ' ' ) ft_putchar( *s );
}
}
Выражение *( s + 1 )
можно заменить на s[1]
.
Или даже так
#include <ctype.h>
//...
void test( const char *s )
{
for ( ; *s; ++s )
{
if ( !isspace( ( unsigned char )s[1] ) ) ft_putchar( *s );
}
}
Если вы хотите использовать именно цикл while, просто напишите, например,
void test( const char *s )
{
while ( *s )
{
if ( *( s + 1 ) != ' ' ) ft_putchar( *s );
++s;
}
}
Или
void test( const char *s )
{
while ( *s )
{
if ( !isspace( ( unsigned char )s[1] ) ) ft_putchar( *s );
++s;
}
}
Или вы можете написать функцию также следующим образом
void test( const char *s )
{
while ( *s )
{
if ( *++s != ' ' ) ft_putchar( s[-1] );
}
}