Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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 - Fatal编程技术网

C 我的终端只打印主设备的第一个输出

C 我的终端只打印主设备的第一个输出,c,C,这里是C的初学者,在int one_three()中打印单词“one”和在function()中打印单词“two”时遇到问题 在我的终端上打印的唯一单词是“现在开始”——有人知道为什么会发生这种情况吗 任何帮助都将不胜感激 int one_three(); int two(); int main(void) { // Countdown begins printf("starting now: "); printf("\n"); int one_three();

这里是C的初学者,在int one_three()中打印单词“one”和在function()中打印单词“two”时遇到问题

在我的终端上打印的唯一单词是“现在开始”——有人知道为什么会发生这种情况吗

任何帮助都将不胜感激

int one_three();
int two();

int main(void)
{
    // Countdown begins
    printf("starting now: ");
    printf("\n");
    int one_three();
    int two();

    return 0;
}

int one_three()
{
    printf("one");
    int two();

    return 0;
}

int two()
{
    printf("two");

    return 0;
}
您不调用函数,而是(再次)声明函数

打电话,例如,
one\u-three
,然后你就可以了

one_three();

说到函数声明,在C语言中,如果函数不带任何参数,就必须显式地使用
void
作为参数。声明,如

int two();
告诉编译器函数
two
返回一个
int
,并接受未知数量的未指定参数。正确的声明应该是

int two(void);

您应该像这样更改代码

...
int main(void)
{
    // Countdown begins
    printf("starting now: ");
    printf("\n");
    one_three();
    two();

    return 0;
}
...

您在
main()
中再次声明了函数。这就是为什么只打印“现在开始”。您需要从
main()
调用该函数,如下所示:

int main(void)
{
    // Countdown begins
    printf("starting now: ");
    printf("\n");
    one_three();
    two();

    return 0;
}

调用函数时,不应声明类型(即char、int或float)。

让我解释一些基本知识。 代码中的前两行

int one_three();
int two();    
-函数声明或函数原型,告诉编译器在主函数之后有一个函数定义

int one_three()
{
    printf("one");
    int two();

    return 0;
}

int two()
{
    printf("two");

    return 0;
}
int main(void)
{
    // Countdown begins
    printf("starting now: ");
    printf("\n");
    one_three(void);
    two(void);

    return 0;
}
如果不需要,可以在main函数之前保留函数定义

int one_three()
{
    printf("one");
    int two();

    return 0;
}

int two()
{
    printf("two");

    return 0;
}
int main(void)
{
    // Countdown begins
    printf("starting now: ");
    printf("\n");
    one_three(void);
    two(void);

    return 0;
}
您正在main()中再次声明函数,您需要在那里调用它们。 如果未传递任何值或引用,请将实际参数作为void传递。 由于您从这些函数返回0,因此返回类型为int,这很好

int main(void)
{
    // Countdown begins
    printf("starting now: ");
    printf("\n");
    one_three(void);
    two(void);

    return 0;
}

也许在编写代码之前你需要先学习C语法。谢谢你,现在就开始吧!首先检查C语法,并弄清楚它。代码无法获得所需输出的原因是,您已经声明了两次函数,一次在文件头,第二次在main()块末尾。接下来,您继续定义函数。你看到这里少了什么了吗?您已经声明了函数,定义了函数,但没有调用该函数。要调用函数,只需在函数名后面加括号和分号,但前面不要加任何数据类型/访问修饰符等。希望这能有所帮助!