print_repeat应打印出字符串s,但重复第i次字符(从1开始计数)。
所以print_repeat(“this”)应该打印thhiiissss
int print_repeat(char s[]){
int i,j;
i = 0;
while (s[i] != '\0');{
for (j = 1; j <= i+1; j+1){
putchar(s[i]);
}
}
return 0;
}
void main()
{
print_repeat("this");
}
答案 0 :(得分:3)
在下面找到正确的代码:
while (s[i] != '\0')
{
for (j = 1; j <= i+1; j++)
{
putchar(s[i]);
}
i++;
}
主要问题是: 1.在循环中不增加变量i 2.变量j未正确递增 3.之后有分号,这是不正确的。
建议:尝试调试代码。这将有助于您更快地学习。
答案 1 :(得分:2)
在print_repeat
代码中,您永远不会在i
循环中增加while
,这会导致无限循环。
答案 2 :(得分:0)
添加“i ++;”在while循环结束时。