1

Cでヘッダーファイルを作成し、それをmain.c func()にインクルードする方法を学ぼうとしています。call()という名前の関数を使用して単純なtut1.cファイルを作成し、call()という名前のtut1.c関数を拡張するtut1.hヘッダーファイルを作成しました。これで、LinuxFedoraのC/C++にEclipseJunoを使用しています。コンパイルエラーは発生しませんが、コードは出力されませんか?私はコンソールと日食を無駄に試しました。確認してもらえますか?ありがとう

---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
4

1 に答える 1

5

call()関数から関数を呼び出していないため、何も表示されませんmain()

このmain()関数は、プログラムを実行するときのデフォルトのエントリ ポイントです。つまり、実行中に最初に呼び出される関数です。

関数を実行するには、次のようcall()に呼び出す必要があります。main()

int main (void)

{
    int result = call();

    return 0;
}

ところで、int tut1(void);あなたの中のこの行はmain()、どこにも定義していないように見える関数を宣言しています。したがって、上記のコードでそれを削除しました。

于 2013-03-09T18:29:05.437 に答える