下面程序的执行结果是(    )。 #include<stdio.h> int b=2; int func(int *a) {  int b = 5;  b += *a;  return b; } void main() {  int a=3, res=0;  res += func(&a)*b;  printf("%dn",res); }

区块链毕设网qklbishe.com为您提供问题的解答

下面程序的执行结果是(    )。
#include<stdio.h>
int b=2;
int func(int *a)
{
 int b = 5;
 b += *a;
 return b;
}
void main()
{
 int a=3, res=0;
 res += func(&a)*b;
 printf("%dn",res);
}
先进入main()
void main() {  int a=3, res=0;  res += func(&a)*b;  printf("%dn",res); }

此时,a=3,res=0
然后,进入func函数,并将a的地址传过去
按程序一步一步来
int func(int *a) {  int b = 5;//b=5  b += *a;//*a对a解引用操作,因为a传过去的是地址,所以解引用之后就是a的值a=3,最后b=8  return b;//返回b的值 }

从func函数出来以后,func(&a)=8

因为在func函数里面b的变化并不改变外面全局变量b=2的值,所以此时b任然等于2
所以res最后等于0+8*2=16

21:18

以上就是关于问题下面程序的执行结果是(    )。 #include<stdio.h> int b=2; int func(int *a) {  int b = 5;  b += *a;  return b; } void main() {  int a=3, res=0;  res += func(&a)*b;  printf("%dn",res); }的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 下面程序的执行结果是(    )。 #include<stdio.h> int b=2; int func(int *a) {  int b = 5;  b += *a;  return b; } void main() {  int a=3, res=0;  res += func(&a)*b;  printf("%dn",res); }