首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有以下程序 typedef struct stu{char*name,gender;int score;}STU; void f(char*p){p=(char*)malloc(10);strcpy(p,"Qian");} mai
若有以下程序 typedef struct stu{char*name,gender;int score;}STU; void f(char*p){p=(char*)malloc(10);strcpy(p,"Qian");} mai
admin
2015-08-14
66
问题
若有以下程序
typedef struct stu{char*name,gender;int score;}STU;
void f(char*p){p=(char*)malloc(10);strcpy(p,"Qian");}
main(){
STU a={NULL,’m’,290},b;
a.name=(char*)malloc(10);
strcpy(a.name,"Zhao");
b=a;f(b.name);
b.gender=’f’;b.score=350;
printf("%s,%c,%d,",a.name,a.gender,a.score);
printf("%s,%c,%d\n",b.name,b.gender,b.score);}
则程序的输出结果是
选项
A、Zhao,m,290,Qian,f,350
B、Qian,f,350,Qian,f,350
C、Qian,m,290,Qian,f,350
D、Zhao,m,290,Zhao,f,350
答案
D
解析
函数f(char*p)的主要功能申请字符串的存储空间,然后存入字符串"Qian",但当程序调用结束以后,形参指针变量p撤销,存储的字符串地址丢失,而不能更改实参指针的值。主函数中结构体变量定义同时赋初值,初始情况其name指针成员存储空,而后语句为其分配存储空间,存入字符串"Zhao"。执行b=a:语句后,b的数据和a的数据相同,调用函数f以后,b的name成员的值没变。
转载请注明原文地址:https://www.kaotiyun.com/show/ZUDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序中函数reverse()的功能是将a所指数组中的内容进行逆置。#include<stdio.h>voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i+
有以下程序#includemain(){FILE*fp;inti=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp
关系数据库管理系统能实现的专门关系运算包括()
设变量已正确定义,则下列能正确计算f=n!的程序段是()。
已有定义:chara[]="xyz",b[]={’x’,’y’,’z’};,下列叙述中正确的是()。
设有变量说明int(*p)[m],其中的标识符p是()。
以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值,请填空。voidfun(int,int,int(*)[4],int*);main(){inta[3][4]={{12,41,36,28},{1
设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部【】,要求形参名为b。main(){doubles[10][22];intn;…fun(s);
以下叙述中错误的是______。
栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是
随机试题
关于电压门控Na+通道与K+通道的共同点中。错误的是
三相异步电动机一相电源断线时,另外两相()。
设x∈(0,1),证明:(1+x)ln2(1+x)
何先生,30岁,2年前因胃溃疡做过胃切除术,近半年来经常头晕、心悸,体力逐渐下降,诊断为缺铁性贫血。其外周血红细胞形态主要为
事业单位的短期借款,是从银行借入的,期限在一年内(包含一年)的借款。()
诉讼的原则包括()。
中国古代建筑的装饰包括彩绘和雕饰。()
五四运动以前的历次革命运动失败的根本原因是()。
简述开窗试验的原理与过程。
Whatisthemainideaofthenewsitem?
最新回复
(
0
)