将字符重复复制到字符串并在C中打印字符串

时间:2014-11-19 19:23:49

标签: c string

我想打印一个基本上是重复字符的字符串。

我想定义一个函数,它将count和character作为参数并打印字符串。 主要约束是实现无循环。

这是我的开始代码:

char *print_string ( int count, char c)
{
// String should be equivalent to count times the character

char * string 
printf ("%s\n", string);

}

3 个答案:

答案 0 :(得分:2)

如何做(无需为您编写代码)

  • 递归
  • a while loop
  • a while while loop
  • 为循环构建的手(标签,增量,测试并转到)

为什么不将所有4个额外信用

答案 1 :(得分:1)

当我完成代码时,它已经被回答了,但无论如何它都在这里。它使用递归方法。

void print_string(int count, char c)
{
    if(count > 1)
    {
        printf("%c", c);
        count--;
        print_string(count, c);
    }

    else if(count == 1)
    {
        printf("%c\n", c);
    }
}

- = M0DEM = -

答案 2 :(得分:0)

C中有可变长度数组(VLA)。因此您可以在函数中使用这样的数组。例如

void print_string( size_t count, char c )
{
    char s[count + 1];

    memset( s, c, n );

    s[n] = '\0';

    printf( "%s", s );
}

您可以动态分配数组,而不是VLA。

您还可以编写递归函数。例如

void print_string( size_t count, char c )
{
    if ( count )
    {
        printf( "%c", c );
        print_string( count - 1, c );
    }
}