Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 多次使用标准输入法_C_Stdin - Fatal编程技术网

C 多次使用标准输入法

C 多次使用标准输入法,c,stdin,C,Stdin,我想问一下,是否有可能多次使用以EOF结尾的stdin。我有这样的想法: int ColumnCounter = 0; int Space = 1; long IterationCounter = 0; do { while ((Char = getchar()) != EOF) { if ((Char != ' ') && (Space == 1)) {

我想问一下,是否有可能多次使用以EOF结尾的stdin。我有这样的想法:

int ColumnCounter = 0; 
int Space = 1;
long IterationCounter = 0;
do
{
    while ((Char = getchar()) != EOF)
        {
            if ((Char != ' ')  && (Space == 1))
                {
                    ColumnCounter++;
                    Space = 0;
                }
            else if (Char == ' ')
                {
                    Space = 1;
                }
            else if (Char == '\n' || Char == '\0')
                {
                    putchar('\n');
                    Space = 0;
                    ColumnCounter = 1;
                    continue;
                }
            if (ColumnCounter == NumberOfCol)
                {
                    putchar(Char);
                }
        }
    ColumnCounter = 0;
    Space = 1;
    IterationCounter = NumberOfCol++;
    IterationCounter++;}
while (IterationCounter < EndingNumberOfCol + 1);
int ColumnCounter=0;
int空间=1;
长迭代计数器=0;
做
{
而((Char=getchar())!=EOF)
{
如果((字符!='')&&(空格==1))
{
列计数器++;
空间=0;
}
else if(字符=“”)
{
空间=1;
}
else if(Char='\n'| | Char=='\0')
{
putchar('\n');
空间=0;
列计数器=1;
继续;
}
if(ColumnCounter==NumberOfCol)
{
putchar(Char);
}
}
列计数器=0;
空间=1;
迭代计数器=NumberOfCol++;
迭代计数器+++;}
while(迭代计数器

继续下面的评论。

是的。就像你几乎正确地做了一样!使用以下代码:

int repeat=0; // Don't forget to initialize repeat
int Znak;
do
{
    while ((Znak = getchar()) != EOF)
    {          ...         }
    repeat++; //repeat not reapeat here
}
while (repeat<5); //loop until repeat is less than 5
int repeat=0;//别忘了初始化并重复
内兹纳克;
做
{
而((Znak=getchar())!=EOF)
{          ...         }
repeat++;//此处不重复
}

while(repeat)while(repeat=5)
应该是while(repeat!=5)
也许吧。A
for
循环可能会更好谢谢你,我修复了它。我也尝试过for循环,但它也不起作用。从问题A继续。我有请不要更改问题,因为将来一些答案没有任何意义。相反,开始一个新问题并接受前一个问题的答案。好的,Ed,我回答保罗吉兹,我不想做太多相同的话题。。。