首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include typedef struct{int b,p;}A; void f(AC)/*,注意:c是结构变量名*/{ intj; c.b+=1;c.p+=2;} main(){ i;Aa={1,2}; f(a); p
有以下程序 #include typedef struct{int b,p;}A; void f(AC)/*,注意:c是结构变量名*/{ intj; c.b+=1;c.p+=2;} main(){ i;Aa={1,2}; f(a); p
admin
2015-12-25
82
问题
有以下程序
#include
typedef struct{int b,p;}A;
void f(AC)/*,注意:c是结构变量名*/{
intj;
c.b+=1;c.p+=2;}
main(){
i;Aa={1,2};
f(a);
printf("%d,%d\n",a.b,a.p);}
程序运行后的输出结果是
选项
A、2,4
B、1,2
C、1,4
D、2,3
答案
B
解析
在C语言中,数据只能从实参单向传递给形参,称为“按值”传递。也就是说,当简单变量作为实参时,用户不可能在函数中改变对应实参的值。所以本题中在main()函数f(A)语句中结构体实参a作为值,传递给函数f(AC)中的形参c;这种值传递的方式不会对实参a产生任何影响,所以结构体实参a的值不会发生变化。
转载请注明原文地址:https://kaotiyun.com/show/ODDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是()。#include<stdio.h>voidp(int*x){printf("%d",++*x);}voidmain(){inty=3;p(&y);}
设变量x和y均已正确定义并赋值。下列if语句中,在编译时将产生错误信息的是
下列程序的运行结果为()。#include<stdio.h>voidabc(Char*str){inta,b,i,j;for(i=j=0;str[i]!=’\0’;i++)if(str[i]!=’a’)
下列循环体的执行次数是()。#include<stdio.h>main(){inti,j;for(i=0,j=1;i<j+1;i+=1,j--)phntf("%d\n",j);}
若有定义inta=5,b=7;,则表达式a%=(b%2)运算后,a的值为()。
若以“a+”方式打开一个已存在的文件,则下列叙述正确的是()
下列叙述中不正确的是()
下列不是合法的C语言语句是()
设有以下定义和语句,则*(*(p+2)+1)的值为______。inta[3][2]={10,20,30,40,50,60},(*p)[2];p=a;
若有以下说明和定义uniondt{inta;charb;doublec;}data;以下叙述中错误的是
随机试题
薄苔突然增厚,提示厚苔骤然消退,舌上无新生薄苔,提示
此患者最可能的诊断是下一步最好的治疗方法为
小儿急性上呼吸道感染,最常见的病原是()
下列存货中,属于库存材料的是( )。
行使追索权的票据当事人,有可能是代为清偿票据债务的保证人、背书人。()
技术改造方案选择方法包括()。
下列计量尺度中,适用于反映现象结构、比重、速度、密度等数量关系的是()。
质量检验的必要性体现在()。
不属于企业战略特征的是()。
Inapproximatingcosts,theestimatorconsidersthepossiblecausesofvariationofthecostestimates,including(75).
最新回复
(
0
)