小编Gir*_*ora的帖子

我可以在我的 c 程序中的任何地方编写预处理器指令吗?

是否必须在程序顶部和主函数之外编写#include?

我尝试在 main 函数中使用 #define 预处理器,它工作正常,只有一个例外......这是我使用define指令定义的常量只能在#define行之后使用例如说printf("%d",PI); #define PI 3.14会给出错误“未定义符号PI ”。但是在下面的代码中我没有遇到任何错误

#define PI 3.14 
printf("%d",PI);
Run Code Online (Sandbox Code Playgroud)

这是因为 C 是一种过程语言并且过程语言实现了自上而下的方法吗?

另外我想知道我们可以在主函数或其他预处理器指令中只使用 #define 吗?如果我们可以使用,那么哪些?或者相反,我们可以使用 main 函数中的所有预处理器指令代替 #include ?

c c-preprocessor

3
推荐指数
1
解决办法
3181
查看次数

使用全局变量解释C程序的输出

void f(void);
int x = 15213;  
int main()  
{
    f();  
    printf("x = %d\n", x); 
    return 0; 
}

/* bar3.c */ 
int x; 
void f()
{ 
    x = 15212;
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我得到的输出是15212.我不明白怎么样?

首先,main函数调用另一个c文件中的f()定义.在f()中,x的值从15213变为15212.然后我们打印x.但是对x做出的改变应该只保留在f中吗?X的范围仅限于f().即便如此,它仍然是打印15212

c global-variables

1
推荐指数
1
解决办法
344
查看次数

标签 统计

c ×2

c-preprocessor ×1

global-variables ×1