extern int x
时间: 2024-06-22 10:02:12 浏览: 136
`extern int x` 是 C/C++ 中的一种声明方式,用于指示一个变量 `x` 的存在但并不立即定义它的值。`extern` 关键字表明该变量在当前作用域之外定义,通常在其他文件中进行初始化或赋值。当你在某个源文件中声明一个 `extern` 变量,而在另一个文件中提供其实际的定义(即 `int x = ...;` 或者直接赋值),编译器就会知道这个变量在整个程序中是共享的。
相关问题
解释一下这段代码#include <stdio.h> // 函数外定义变量 x 和 y int x; int y; int addtwonum() { // 函数内声明变量 x 和 y 为外部变量 extern int x; extern int y; // 给外部变量(全局变量)x 和 y 赋值 x = 1; y = 2; return x+y; } int main() { int result; // 调用函数 addtwonum result = addtwonum(); printf("result 为: %d",result); return 0; }
这段代码主要是演示了 C 语言中的全局变量和外部变量的使用。
在这段代码中,定义了两个全局变量 x 和 y,它们的作用域为整个程序文件,可以被所有函数访问。在函数 addtwonum 中,通过 extern 关键字声明了变量 x 和 y 为外部变量,表示它们是在其他地方定义的全局变量。然后在函数内部给外部变量 x 和 y 赋值,并返回它们的和。
在主函数 main 中,调用了函数 addtwonum,并将返回值赋给变量 result,最后打印出 result 的值。由于变量 x 和 y 是全局变量,因此在函数 addtwonum 中对它们的修改会影响到主函数中的值。
需要注意的是,在实际编程中应尽量避免使用全局变量,因为它们会增加程序的复杂性和不可预测性,导致代码难以维护。
#include<stdio.h> void num() { extern int x,y; int a=15,b=10; x=a-b; y=a+b; } int x,y; int main() { int a=7,b=5; x=a+b; y=a-b; num(); printf(“%d,%d\n”,x,y); return 0; }结果
这段代码的输出结果应该是 "18, 8"。
首先,在主函数中,给 x 赋值为 7+5=12,y 赋值为 7-5=2。然后调用了 num() 函数。在 num() 函数中,使用 extern 关键字声明了在全局变量中已经定义的 x 和 y。然后将 a 和 b 分别赋值为 15 和 10,计算 x=a-b=5,y=a+b=25。回到主函数中,printf 函数输出的是全局变量 x 和 y 的值,即 18 和 8。
阅读全文