网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)
单选题
若有以下程序#include #include #include 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, b.name, b.gender, b.score);}则程序的输出结果是(  )。
A

Qian,m,290,Qian,f,350

B

Zhao,m,290,Qian,f,350

C

Qian,f,350,Qian,t,350

D

Zhao,m,290,Zhao,f,350


参考答案

参考解析
解析:
初始化时,struct a中的数据:a.name:Zhao,a.gender:m,a.score:290。执行b=a,则b中的数据:b.name:Zhao,b.gender:m,b.score:290,struct在赋值过程中实现的是浅拷贝,a.name和b.name指向同一块内存空间。执行f(b.name),函数f中形参p和b.name指向同一块内存空间,在f函数内部,p又重新指向另外一块分配的内存空间,而b.name的指向没有变化,指向的内存空间的值也没有发生变化,函数f返回后,b.name中的值依然是Zhao。答案选择D选项。
更多 “单选题若有以下程序#include #include #include 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, b.name, b.gender, b.score);}则程序的输出结果是(  )。A Qian,m,290,Qian,f,350B Zhao,m,290,Qian,f,350C Qian,f,350,Qian,t,350D Zhao,m,290,Zhao,f,350” 相关考题
考题 以下四个程序中,完全正确的是( )。A.includeB.include main(); main() {/*pr 以下四个程序中,完全正确的是( )。A.#include<stdio.h>B.#include<stdio.h> main(); main() {/*programming*/ {/*/programming/*/ printf("programming!\n");} printf("programming!\n");}C.#include<stdio.h>D.include<stdio.h> main() main() {/*/*programming*/*/ {/*programming*/ printf("programming!\n");} printf("programming!\n");}

考题 为使*p=20,下面正确的程序是()A. include main( ) { int a=10,b=20,*p= printf 为使*p=20,下面正确的程序是 ( )A.# include<stdio.h> main( ) { int a=10,b=20,*p=&b; printf("%d\t%d\n",p,*p); } *p)B.# include<stdio.h> main( ) { int a=10,b=20,*p=b; printf("%d\t\%d\n",p,*p) }C.# include<stdio.h> main( ) { int a=10,b=20,*p; p=&a; p + +; printf("%d\t\%d\n",p,*p);} }D.# include<stdio.h> main( ) { int a=10,b=20,*p; *p=20; printf("%d\t\%d\n",p,*p); }

考题 以下程序的输出结果是 【7】 。#include "stdio.h"main(){int a=065;printf( "%d\n",--a);}

考题 有以下程序 include main( ) { printf("%d\n",NULL); } 程序运行后的输出结果是 有以下程序#include <stdio.h>main( ){ printf("%d\n",NULL); }程序运行后的输出结果是A.0B.1C.-1D.NULL没定义,出错

考题 以下程序的运行结果是 ( ) definePI 3.141593 include main( ) { printf("P 以下程序的运行结果是 ( ) #definePI 3.141593 #include<stdio.h> main( ) { printf("PI=%fn",PI); }A.3.141593=3.141593B.PI=3.141593C.3.141593=PID.程序有误,无结果

考题 以下程序的执行结果是【】。 include include include int ma 以下程序的执行结果是【 】。include <iostream.h>include <fstream.h>include <stdlib.h>int main(){fstream outfile, infile;outfile.open("D:\\text.dat",ios::out);if(!outfile){cout<<"text.dat can't open"<<end1

考题 有以下程序:include include main( ) {char a[ 7 ] = "a0 \0a0 \0";int i, 有以下程序:#include <stdio.h>#include <string.h>main( ) { char a[ 7 ] = "a0 \0a0 \0"; int i,j; i = sizeof(a); j = strlen(a); printf(" % d %d \n" ,i,j); }程序运行后的输出结果是( )。A.22B.76C.72D.62

考题 以下程序的输出结果是#include "stdio.h"main(){ int a=065; printf("%d\n",--a);}

考题 以下程序的输出结果是【】。 include main() {struct stru {int a; float b; char d[4]; } 以下程序的输出结果是【 】。include<stdio.h>main(){ struct stru{ int a;float b;char d[4];};printf("%d\n",sizeof(struct stru));}

考题 有以下程序 include include int fun(int n) {int * 有以下程序 #include <stdio.h> #include <stdlib.h> int fun(int n) {int *p; p=(int*)malloc(sizeof(int)); *p=n; return *p; } { int a; a=fun(10); printf("%d\n",a+fun(10)); } 程序的运行结果是______。A.0B.10C.20D.出错

考题 有以下程序 include main() { char a=4; printf("%d/n,a=a 有以下程序 #include <stdio.h> main() { char a=4; printf("%d/n,a=a<<1); } 程序的运行结果是______。A.40B.16C.8D.4

考题 若有以下程序: include using namespace std; int main() {char str[10];cin>>str;co 若有以下程序:include <iostream>using namespace std;int main(){char str[10];cin>>str;cout<< str<<end1;return 0;}当输入为:This is a program!那么执行程序后的输出结果是【 】。

考题 请读程序: includde include void fun(char * s) {char a[10]; str 请读程序: # includde<stdio.h> # include<string.> void fun(char * s) {char a[10]; strcpy(a,"STRING"); s=a; } main() { char*p; fun(p); print{("%s\n",p); } 上面程序的输出结果(表示空格) ( )A.STRINGB.STRINGC.STRINGD.不确定的值

考题 下列4个程序中,完全正确的是()。A.include main(); (/*programming*/ printf("programm 下列4个程序中,完全正确的是( )。A.#include<stdio.h> main(); (/*programming*/ printf("programming!\n");}B.# include<stdio.h> main() {/*/programming/*/ printf("programming!\n");}C.#include<stdio.h> main() {/*/programming*/*/ printf("programming!\n");)D.include<stdio.h> main() {/*programming*/ printf("programming!\n");}

考题 下面程序的运行结果是 ( ) include include main( ) { char * a=" 下面程序的运行结果是 ( ) # include<stdio.h> # include<string.h> main( ) { char * a="AbcdEf",* b="aBcD" a + +;b + +; printf("%d\n",strcmp(a,b)); }A.0B.负数C.正数D.无确定值

考题 以下4个程序中,完全正确的是A.#include stdio.h main(); {/*programming*/ printf("programming!\n");}B.#include stdio.h main(); {/*/ programming /*/ printf("programming!\n");}C.#include stdio.h main() {/*/*programming*/*/ printf("programming!\n");}D.include stdio.h main() {/*programming*/ printf("programming!\n");}

考题 下面程序段的输出为( )。 include "stdio.h" main { printf("%d\n",122); }A.0SXB 下面程序段的输出为( )。 #include "stdio.h" main { printf("%d\n",122); }A.0B.47C.48D.24

考题 下列程序的输出结果是()。 include include main() {char a[]="\n123\\";pr 下列程序的输出结果是( )。 #include<stdio.h> #include<string.h> main() { char a[]="\n123\\"; printf ("%d,%d\n",strlen(a),sizeof(a)); }A.5,6B.5,5C.6,6D.6,5

考题 以下四个程序中,完全正确的是______。A.include main(); {/*programming* 以下四个程序中,完全正确的是______。A.#include <stdio.h> main(); {/*programming*/ printf("programming!\n");}B.#inc lude<stdio.h> main() {/*/programming/*/ printf("programming!\n");}C.#include <stdio.h> main() {/*programming*/ printf("programming!\n");}D.include<stdio.h> main() {/*/*programming*/*/ printf("programming!\n");}

考题 下面程序的输出结果是 ( ) include include { char * p1="abc" , * 下面程序的输出结果是 ( ) # include<stdio.h> # include<string.h> { char * p1="abc" , * p2=" ABC ",str[50]="xyz"; strcpy(str+2.strcat (pi,p2)); printf("%s\n",str);}A.xyzabcABB.zabcABCC.yzabcABCD.xycbcABC

考题 若有以下程序 include int a[ ]={2,4,6,8}; main( ) { int i; int *p=a; for(i=0;i 若有以下程序#include <stdio.h>int a[ ]={2,4,6,8};main( ){ int i;int *p=a;for(i=0;i<4;i++) a[i]=*p;printf("%d\n",a[2]);}上面程序的输出结果是A.6B.8C.4D.2

考题 有以下程序: include main( ) {intc = 35; printf( "% d \n" , ec); }程序运行 有以下程序: #include <stdio.h> main( ) { intc = 35; printf( "% d \n" , ec); } 程序运行后输出结果是( )。A.0B.70C.35D.1

考题 以下程序 include include main() { char*p1="abc",*p2="ABC",str[50]="xy 以下程序 #include<stdio.h> #include<string.h> main() { char*p1="abc",*p2="ABC",str[50]="xyz"; strcpy(ar+2,strcat(p1,p2)); printf("%s\n",str); } 的输出是______。A.xyzabcABCB.zabeABCC.yzabcABCD.xyabcABC

考题 有以下程序:include include main(){char *p[10]={"abc","aabdfg","dcdbe" 有以下程序: #include <stdio.h> #include <string.h> main() { char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"}; printf("%d\n",strlen(p[4])); } 执行后的输出结果是( )。A.2B.3C.4D.5

考题 在下列# include命令中,正确的一条是 ( )A.# include [string.h]B.# include {math.h}C.# include(stdio.h)D.# include<stdio.h>

考题 数字字符'0'的ASCII值为48,若有以下程序:include main( )char a='1',b ='2';printf( " 数字字符'0'的ASCII值为48,若有以下程序: #include <stdio.h> main( ) char a='1',b ='2'; printf( "% c,",b + + ); printf(" % d \n" ,b - a); } 程序运行后的输出结果是( )。A.3,2B.50,2C.2,2D.2,50

考题 使用scanf函数时,在源程序开头()。A、书写#include"stdio.h"B、书写#includeC、不必写#includeD、书写#include"scanf.h"

考题 如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include命令是()A、#include〈string.h〉B、#include〈math.h〉C、#include〈stdio.h〉D、#include〈ctype.h〉