C程序编译但没有输出

时间:2013-03-09 18:25:39

标签: c header-files

我正在尝试学习在C中创建头文件并将其包含在我的main.c func()中。我创建了一个简单的tut1.c文件,其中包含名为call()的函数和一个tut1.h头文件,它取出了名为call()的tut1.c函数。多数民众赞成,现在我在linux fedora上使用eclipse Juno for C / C ++。我没有得到任何编译错误,但代码不会输出?我试着在控制台和日食上徒劳无功。你能来看看吗?感谢

---main.c-----

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "tut1.h"

int main (void)

{
    int tut1(void);

    return 0;
}

-----tut1.c------

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

int call (void)
{
    int *ptr;
    int i;

        ptr = &i;
       *ptr = 10;

    printf ("%d we are printing the value of &i\n", &i);
    printf ("%d we are printing the value of *ptr\n", *ptr);
    printf ("%d we are printing the value of ptr\n", ptr);
    printf ("%d we are printing the value of &ptr\n", &ptr);

    getchar();
    return 0;
}

----tut1.h----

#ifndef TUT1_H_
#define TUT1_H_

extern int call (void);

#endif

1 个答案:

答案 0 :(得分:5)

您没有看到任何内容,因为您没有通过call()功能调用main()功能。

main()函数是运行程序时的默认入口点,即在执行期间调用的第一个函数。

要执行call()函数,您需要从main()调用此函数,如下所示:

int main (void)

{
    int result = call();

    return 0;
}

顺便说一句,int tut1(void);中的这一行main()只是声明了一个你似乎没有在任何地方定义过的函数。所以我已经在上面显示的代码中删除了它。