Ⅰ c语言一个问题
fun1函数中仿侍打印的a和b是它自己的形参局部变量,这个地方局部作用域覆盖了全局作用域,明大老所以打印了实参传进来的5 6。
然后调用fun2,这里赋值是给全局变量a b赋值了。
main中激升打印a b的值,打印的是全局变量的值,所以就是3 4
Ⅱ 加急!c语言中,定义全局变量同时也定义了局部变量,最后我想打印出全局变量的数据要怎么做
加双冒号::
printf("%d", ::a);
Ⅲ C语言全局变量与局部变量
这个程序的头有点问题了。
最终的c输出的应该是3。
fun函数里的c和主程序的c的关系为形参与实参的关系。这个程序是使用值传递,形参的值是收到碰或实参的值影响的,也就是说实参决定了形参,但形参并没有影响到实参的值得大小。也就是说在fun函数里的C由C=3变成了C=6;在主函数滑则里fun(2,3,c)=6;C=3(没有被改笑让伍变)。所以结果输出的还是 3。
Ⅳ c语言中全局变量及输出问题
函数内部的static的变量不会被释放
static int a;
int b;
void func(void)
{
static int c;
int d;
}
在这里,a与b都是全局变量,二者的区别是,b可以被别的文件使用,a只能在本文件中使用,这是static对全局变量的作用。
c和d的区别是,猜棚d是一个自动变量,func函数执虚圆行完后,d会自动被释放。但c却不会被释放,下一次调用func函数时,c的值会保留上次穗誉则的值继续使用。
Ⅳ 问一道C语言的题目!!
#include <亩蠢stdio.h>
int a=3,b=5;
f(int a){static int b; a--; b+=a;} //a是局部变量有main函数中传递的6,b也是局部变量
//b的值由b+=a;赋值得到的, 由于a--得到a=5;so b=5。但是这个b值并未被使用
int main()
{
int a=6;
f(a-1);
printf("\n %d,%d",a,b); //此时打印的是局部变量a的迅帆陪值,a并未被修改。b打印的是全局变量轿伏中的b的值为5
}
Ⅵ 专家们加急呀!c语言中,定义全局变量同时也定义了局部变量,我想打印出全局变量的数据要怎么做
#include<者拿拆旦stdio.h>
int a=1;
int main()
{
int a=2;
printf("%d"首御搭,::a);
return 0;
}