首页 > 解决方案 > 两个程序之间的区别 - 在 file.c 中包含或不包含 file.h

问题描述

我编写了两个简单而简短的程序,每个程序由三个文件(main.c、libreria_mia.c、libreria_mia.h)组成。如果我不在文件 libreria_mia.c 中写入#include "libreria_mia.h",第一个程序也可以工作。相反,第二个程序仅适用于我在 libreria_mia.c 中编写的上述包含

怎么来的?

第一个程序:

// main.c
#include <stdio.h>
#include "libreria_mia.h"

int main()
{
    int x = 5;
    int y = quadrato(x);
    printf("%d\n", y);
    return 0;
}

------------------------------------------
// libreria_mia.h
int quadrato(int a);

------------------------------------------
// libreria_mia.c
int quadrato(int a)
{
    a = a * a;
    return a;
}

第二个程序:

// main.c
#include <stdio.h>
#include "libreria_mia.h"

int x = 5;

int main()
{
    quadrato();
    printf("%d\n", x);
    return 0;
}
----------------------------------------------------------------
// libreria_mia.h
extern int x;
void quadrato();
----------------------------------------------------------------
// libreria_mia.c
#include "libreria_mia.h"

void quadrato()
{
       x = x * x;
}

谢谢你的意愿。

标签: cincludeheader-files

解决方案


推荐阅读