首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include <stdio.h> #include <string.h> typedef struct stu { char name[10];
有以下程序 #include <stdio.h> #include <string.h> typedef struct stu { char name[10];
admin
2021-07-09
33
问题
有以下程序
#include <stdio.h>
#include <string.h>
typedef struct stu {
char name[10];
char gender;
int score;
} STU;
void f( char name[10],char gender,int score )
{ strcpy( name, "Sun" );
gender = ’m’;
score = 370;
}
main( )
{ STU b={"Zhao", ’m’, 290}, a={"Qian", ’f’, 350};
b=a;
printf( "%s,%c,%d,", b.name, b.gender, b.score );
f( b.name, b.gender, b.score );
printf( "%s,%c,%d\n", b.name, b.gender, b.score );
}
程序运行后的输出结果是
选项
A、Qian,f,350,Sun,f,350
B、Qian,f,350,Qian,f,350
C、Qian,f,350,Sun,m,370
D、Zhao,m,290,Sun,m,370
答案
A
解析
C语言函数参数传递大致分为:1、值传递过程中,被调函数的形参作为被调函数的局部变量处理,即在内存的堆栈中开辟空间以存放由主调函数放进来的实参的值,从而成为了实参的一个拷贝。值传递的特点是被调函数对形参的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值。
2、地址传递过程中,被调函数的形参虽然也作为局部变量在堆栈中开辟了内存空间,但是这时存放的是由主调函数放进来的实参变量的地址。被调函数对形参的任何操作都被处理成间接寻址,即通过堆栈中存放的地址访问主调函数中的实参变量。正因为如此,被调函数对形参做的任何操作都影响了主调函数中的实参变量。
结构体中name是数组,做实参传递,会退化为指针,因此调用f(),b.name发生修改,其他的成员,传递的是拷贝,不会被修改。因此输出Sun,f,350。故答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/jitp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#include<stdio.h>intf(intx);main(){inta,b=0;for(a=0;a<3;a++){b=b+f(a);putchar(’A’+b);}}intf(intx){returnx*x+
有以下程序#includemain(){inti=5;do{if(i%3==1)if(i%5==2){printf("*%d",i);break;}i++;}while(i!=0);printf("\n");}
有以下程序#includevoidmain(){charb,c;inti;b=’a’;c=’A’;for(i=0;i
若有以下程序#includemain(){intc;c=13|5;printf("%d\n",c);}则程序的输出结果是
有以下程序#includemain(){inta=7;while(a--);printf("%d\n",a);}程序运行后的输出结果是()。
有下列程序:main(){inta[4][4]={{1,4,3,2),{8,6,5,7),{3,7,2,5},{4,8,6,1)),i,k,t;for(i=0;i
有以下程序≠}include,main(){inta=0,b=0;/*给a赋值a=10;b=20;给b赋值木*/printf("a+b=%d\n",a+b);/*输出计算结果*/)程序运行后的输出结果
结构化程序所要求的基本结构不包括()。
随机试题
使用眼线液比使用眼线笔更适合初学者。()
A、主动转运B、被动扩散C、促进扩散D、吞噬作用E、胞饮作用限制扩散
A、2’-OH黄酮B、7,4’-OH黄酮C、5-OH黄酮D、6-OH黄酮E、5’-OH黄酮酸性最弱的是
A.阿胶B.生地黄C.桂枝、生姜D.麦冬、麻仁E.炙甘草、人参、大枣
下列关于自诉案件的说法正确的有:()
可以吊销矿山企业采矿许可证和营业执照的行为有()。
地陪导游在接团时,应当提前()分钟到达接站地点。
20世纪60年代,我国科学技术事业的主要成就是()。①万吨水压机研制成功②原子弹爆炸成功 ③人工合成牛胰岛素结晶成功④氢弹爆炸成功
Sharingtasksanddecisionsinthehomeleadsto______.Theauthorstatesthatbringingupchildren______.
ExercisetoProtectAgingBodies—andBrainsA)Weallknowthatexerciseisgoodforyou.Stayingphysicallyactivehelpskeep
最新回复
(
0
)