C语言…外部变量与局部变量同名问题
4个回答
展开全部
主函数是执行函数,所以必然执行main()
在main()中,重新定义并且赋值了局部变量a=8,而max(a,b)求值的时候,a用的是局部变量,因为它在局部里的优先级大于全局变量,而b没有局部变量,所以用到全局变量b=5,因此求的是max(8,5)
在main()中,重新定义并且赋值了局部变量a=8,而max(a,b)求值的时候,a用的是局部变量,因为它在局部里的优先级大于全局变量,而b没有局部变量,所以用到全局变量b=5,因此求的是max(8,5)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int
a=3,b=5;
max(int
a,int
b)
{
int
c;
c=a>b?a:b;
return
(c);
}
void
main()
(int
a=8;
printf("%d\n",max(a,b));
}
解答:a=3,b=5是全局变量。因为最后一个a有赋值8,优先使用内部变量,a=8比b=5大,所以max取8.
a=3,b=5;
max(int
a,int
b)
{
int
c;
c=a>b?a:b;
return
(c);
}
void
main()
(int
a=8;
printf("%d\n",max(a,b));
}
解答:a=3,b=5是全局变量。因为最后一个a有赋值8,优先使用内部变量,a=8比b=5大,所以max取8.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int
a=3,b=5;
max(int
a,int
b)
{
int
c;
c=a>b?a:b;
return
(c);
}
void
main()
(
int
a=8;
printf("%d\n",max(a,b));
}
当外部变量和局部变量冲突的时候,优先使用局部变量,但局部变量的作用范围仅限函数作用域内。
如
void
main()
(
int
a=8;
影响仅在main()中,
printf("%d\n",max(a,b));在main()作用域中,受int
a=8;
的影响,b无冲突则直接引用外部变量
max(int
a,int
b)
{
int
c;
c=a>b?a:b;
return
(c);
}
在此函数中,a,b受max(int
a,int
b)的影响,全部为接收到实参的值
a=3,b=5;
max(int
a,int
b)
{
int
c;
c=a>b?a:b;
return
(c);
}
void
main()
(
int
a=8;
printf("%d\n",max(a,b));
}
当外部变量和局部变量冲突的时候,优先使用局部变量,但局部变量的作用范围仅限函数作用域内。
如
void
main()
(
int
a=8;
影响仅在main()中,
printf("%d\n",max(a,b));在main()作用域中,受int
a=8;
的影响,b无冲突则直接引用外部变量
max(int
a,int
b)
{
int
c;
c=a>b?a:b;
return
(c);
}
在此函数中,a,b受max(int
a,int
b)的影响,全部为接收到实参的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询