【问题标题】:character Function in C does not output anythingC中的字符函数不输出任何内容
【发布时间】:2020-03-29 00:29:14
【问题描述】:

我是 C 的初学者,我目前正在学习如何在 C 中制作函数,下面是我的代码,我希望用户随机输入姓名和职业,然后用户的随机输入将替换为一句话.问题是当我运行这个特定程序时根本没有输出,我使用的是 CodeBlocks 及其控制台应用程序,但是当我构建、编译和运行它时,屏幕上也没有任何内容,如下所示因为在“构建日志”部分中根本没有错误消息,您通常可以看到错误,程序运行但没有输出。

当程序运行时,我在控制台上看到的只是

"进程返回 0 (0x0) 执行时间:0.016 s 按 ENTER 继续。”

#include <stdio.h>
#include <stdlib.h>

char FunOne(char Wun[50], char Two[50]);

int main()
{
    char FunOne(char Wun[50], char Two[50]);
    return 0;
}

char FunOne(char Wun[50], char Two[50])
{
    printf("please enter a name: ");
    fgets(Wun, 50, stdin);
    printf("please enter a occupation: ");
    fgets(Two, 50, stdin);
    printf("there was once a man named %s", Wun);
    printf("he lived in the UK and worked as a %s", Two);

    return 0;
}

【问题讨论】:

    标签: c function


    【解决方案1】:

    问题出在你的main() 函数中,你应该这样做:

    Running sample

    char FunOne(char Wun[50], char Two[50]); //declaration
    
    int main()
    {
        char Wun[50], Two[50]; //declaration of variables (char arrays in this case)
        FunOne(Wun, Two);  //usage
        return 0;
    }
    
    
    char FunOne(char Wun[50], char Two[50]) //definition
    {
        //...
    }
    

    【讨论】:

    • 知道为什么吗?我想为了调用你需要的函数,还要在括号中输入函数名和参数?
    • 在 C 中 char FunOne(char Wun[50], char Two[50]); 是函数的声明,为了使用它,您需要将正确的参数传递给它,例如 WunTwo,这也需要声明,如果需要,初始化。如果返回类型不是void,您可以使用= 运算符将其分配给兼容的变量,我给您留下一个链接,其中对函数在C 中的工作方式有一些简单的描述tutorialspoint.com/cprogramming/c_functions.htm
    • 你说我需要传递正确的参数才能使用它,当我在 "char FunOne(char Wun[50] 中指定 "char Wun[50], char Two[50]" 时没有这样做], 二[50]);".
    • @Qasim,char 等类型说明符仅用于声明和/或定义,在实际使用函数时必须将其删除,另外,Wun[50] 是数组的特定元素, (在这种情况下它超出了界限),如果你想传递整个数组,你只需要传递Wun。我编辑了我的答案来定义这些概念。
    • 啊,很好,您推荐任何书籍或资源来达到像您一样的 C 水平,因为您似乎非常熟悉 C 等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    • 2021-12-22
    • 2013-07-12
    相关资源
    最近更新 更多