问题 - 我想在输入字符串中的第5个位置打印字符,用户不断输入字符串想要,一旦他按下回车键,出现在第五位的人物就会自动打印。这里的关键是我们不需要将字符串存储在内存中。 我做了这个包含测试用例部分的特定代码。在输入字符串中输入一定数量的字符时,甚至不存储整个字符串
#include<stdio.h>
#define c 5
char flush()
{
int d = c;
char temp, temp1;
while(1)
{
temp = getchar();
if(temp == '\n')
break;
if(d == 0)
temp1 = temp;
}
return temp;
}
int main()
{
int max;
char ele, pre;
scanf("%d", &max);
fflush(stdin);
ele = '\n';
while(max--)
{
pre = ele;
ele = flush();
if(pre == '\n' && ele == '\n')
break;
printf("%c\n", ele);
}
return 0;
}
只要问题看起来很简单,当我尝试用这种特殊方式编码问题时,我发现它非常棘手。我怎样才能调试我这个特定的代码?
好的。对字符进行计数直至达到5,然后打印字符并重新计数。简单.. – 2014-09-30 15:00:48
当删除它们时,'d','c','pre','temp1'等等有什么重要意义? – 2014-09-30 15:27:02