为什么不控制进入repeat()函数?

时间:2019-01-25 14:48:07

标签: c

“将数字从输入重写为输出。读入数字42后停止处理输入。输入中的所有数字都是一两位数字的整数。”

#include <stdio.h>

int main() {
    int num ;

    int repeat()
    {  
        scanf("%d",&num) ;
        if(num!=42)
        {
             printf("\n%d",num) ;
             repeat() ;
        }
        else
        {
            return num ;
        }
        getch() ;
    }

    return 0;
}

3 个答案:

答案 0 :(得分:4)

  

为什么Control不输入repeat()函数?

因为main()没有调用它。

repeat()函数在main()内部定义。这是非标准的。移开它可以使事情更清晰:

#include <stdio.h>

int num ;

int repeat()
{  
    scanf("%d", &num);
    if(num != 42)
    {
        printf("\n%d", num);

        repeat();
    }
    else
    {
        return num ;
    }

    getch();
}

int main() {
    return 0;
}

从上面可以明显看出main()实际上没有任何作用。

答案 1 :(得分:0)

您创建了函数repeat(),但从未调用过它。此外,您还应该将num作为参数传递给repeat()并期望它返回。

答案 2 :(得分:0)

//感谢您的帮助

00001010 (\n) xor 01111001 (y) = 01110011 (s)