大学C语言试题
#include<stdio.h>intA=1,B=1;voiddblA(){A*=2;}voiddblB(){intB=5;B*=2;}intmain(){dblA()...
#include <stdio.h>
int A=1,B=1;
void dblA(){ A*=2;}
void dblB(){ int B=5; B*=2;}
int main(){
dblA();
dblB();
printf("%d,%d\n",A,B);
}//求问B为什么等于1 展开
int A=1,B=1;
void dblA(){ A*=2;}
void dblB(){ int B=5; B*=2;}
int main(){
dblA();
dblB();
printf("%d,%d\n",A,B);
}//求问B为什么等于1 展开
2个回答
展开全部
首先要了解全局变量和局部变量。
上面的int A=1,B=1;就是定义了两个全局变量。
因为在函数dblB()中定义了局部变量 B,在C语言中函数会优先使用局部变量(记住这一原则),所以做运算的是那个局部变量B,由5乘2变为10。
全局变量B仍然等于1,并没有发生变化,所以输出的B为1。
望采纳!
上面的int A=1,B=1;就是定义了两个全局变量。
因为在函数dblB()中定义了局部变量 B,在C语言中函数会优先使用局部变量(记住这一原则),所以做运算的是那个局部变量B,由5乘2变为10。
全局变量B仍然等于1,并没有发生变化,所以输出的B为1。
望采纳!
追问
谢谢你!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |