我想打印一个基本上是重复字符的字符串。
我想定义一个函数,它将count和character作为参数并打印字符串。 主要约束是实现无循环。
这是我的开始代码:
char *print_string ( int count, char c)
{
// String should be equivalent to count times the character
char * string
printf ("%s\n", string);
}
答案 0 :(得分:2)
如何做(无需为您编写代码)
为什么不将所有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 );
}
}