C语言选择题:以下正确的程序段是:()

作者&投稿:徭脉 (若有异议请与网页底部的电邮联系)
一道C语言选择题:以下正确的程序段是:()~

A. char str[20]; scanf("%s",&str);
B. char *p; scanf("%s",p);
C. char str[20]; scanf("%s",&str[2]);
D. char str[20],*p=str; scanf("%s",p[2]);

A:str是数组的名字,它单独出现时候代表的是该数组的首地址,
&用在变量前代表取其地址,对str这个地址取地址,不是程序想要的吧!

B:p做为一个指针,没有初始化.记住,指针一定要初始化后才能使用!

C:str[2]的意思其实是 *(str + 2),
所以&str[2]其实就是&*(str + 2),也就是str + 2,还是个地址,所以是正确的.
D. char str[20],*p=str; scanf("%s",p[2]);
:p[2]代表 *(p+2),代表第三个字符了

A、scanf("%d",&n);*p=n;
错在*p = n, 因为p指向的空间为NULL,直接赋值n,会出错

B、p=&n;scanf("%d",*p);
错在scanf,因为是使用的是地址,应该是scanf("%d",p);

C、p=&n;scanf("%d",&p);
同上,应该是scanf("%d",p);

D、p=&n;scanf("%d",p);
可以看看scanf的使用方法,就知道这个是对的。
前面p = &n, 就是说指针指向了变量n,p就是变量n的地址。

A对 字符数组赋值可以不用&,用了也是对的
B错 只有一个指针,但是这个指针并未指向可用的空间。
C错 虽然程序运行没问题,但是这样做是从s[2]开始写入.s[0]和s[1]是随机值.
前面0~1元素的数据不确定会导致后面不能完整用str索引 ,获取不到正确值
D错 str是什么,如果前面初始化为char str[20],也是错的,因为p[2]是一个字符,不是地址
所以A对,C的话 可以运行,但是获取的值不对,看你怎么认为该选项对不对了
望采纳

AC都对吧


c语言选择题1??
11.以下if语句中语法错误的是(C)。A.if (a>b) printf(“%f”,a); B.if(a>b) printf(“%f”,a);else printf(“%f”,b);C.if(a>b) printf(“%f”,a) D.if(a>b) printf(“%f”,b);else printf(“%f”,b); else printf(“%f”,a);12.C语言程序的三种基本结构是...

关于“语言学概论”的试题及答案。
语言学概论试卷 (1) (2) 一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干的括号内。每小题1分,共25分) 1.�一般说来,新词、古词、方言词、行业词和外来词等()。 ①属于一般词汇 ②属于基本词汇 ③有的属于基本词汇,有的属于一般词汇 ④有时属于基本词汇,...

2018年计算机二级考试C语言试题及答案(3)
参考解析:本题考查文件的定位,feof函数的用法是从输入流读取数据,如果到达文件末尾(遇文件结束符),eof函数值为非零值,否则为0,所以选项D正确。7[单选题] 以下叙述中正确的是 A.只要适当地修改代码,就可以将do-while与while相互转换 B.对于“for(表达式1;表达式2;表达式3)循环体”首先要计算...

C语言单项选择题4
以下4个变量定义中,定义p为指针数组的是()。A) int *p[10];B) int (*p)( );C) int **p;D) int (*p)[10];答:A)指针数组是数组元素为指针的数组 34.在C语言中,表示结束当前函数的语句是()。A) return语句 B) break语句 C) continue语句 D) end语句 答:A)35.若已定义x为int...

C语言选择题,希望得到详解,万分感激。
C语言选择题,希望得到详解,万分感激。5、设有说明语句:char a;int b;float c;double d;则执行语句c=a+b+c+d;后,变量c的数据类型是___。 A、int B、char C、float D、double 6、执行下面程序段,给x、y赋值时,能作为数据分隔符的是___。 int x,y; ... 展开 阎瞳子 | 浏览...

下半年计算机二级c语言基础试题
下面是我收集的关于计算机二级c语言基础试题,希望大家认真阅读! 下半年计算机二级c语言基础试题1 一、选择: 1.给出以下定义: char acX[ ]= "abcdefg"; char acY[ ]= {'a','b','c','d','e','f','g'}; 则正确的叙述为( ) A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同 C) 数组...

这道C语言选择题严格来说是不是选项B也是错的?答案给的是D
分析如下:A、p->pk,语法正确,其值为"right"B、*p.pk,语法错误,其等效于*(p.pk),.pk左边必须为class\/struct\/union类型,而p为指针类型。C、*p->pk,语法正确,其等效于*(p->pk),其值为'r'。D、*x.pk,语法正确,其等效于*(x.pk),其值为'r'。B和D的区别在于p是指针类型,...

C语言选择题求解 快
你是湖北汽车工业学院的学生吧?这是学校机房无忧考试系统C语言A卷里面的题目吧?以下给你详解:希望课后能仔细推敲认真考证,不枉汽院学子之身份!以下能正确定义字符串的语句是___D___。A char str[]={'\\064'};B char str='';C char str="\\x43";D char str[]="\\0";A)定...

C语言题选择题 求详解
第一题选D ==(比较两数是否相等)的优先级高于=(赋值号),所以先计算a==b然后把结果赋给w。第二题是3,2 第一个printf输出字符,b++后成了3的ascii码 第二个printf输出整数,b和a的ascii码的差此时b是3,a是1所以差是2 第三题选b a在定义是不能连续赋值,c中赋值号是先计算右边的,...

c语言选择题7??
74.以下语句不能正确赋值的是(A)。A.char s1[10]; s1=”China”; B.char s2[ ]={ ’C’,’h’,’i’,’n’,’a’};C.char s3[20]=”China”; D.char *s=”China”;75.C语言中,定义PI为一个符号常量,正确的是(A)。A.#define PI 3.14 B.define PI 3.14 C....

吉林市13614584604: 一道C语言选择题:以下正确的程序段是:() -
赧尹艾汀: A. char str[20]; scanf("%s",&str); B. char *p; scanf("%s",p); C. char str[20]; scanf("%s",&str[2]); D. char str[20],*p=str; scanf("%s",p[2]);A:str是数组的名字,它单独出现时候代表的是该数组的首地址,&用在变量前代表取其地址,对str这...

吉林市13614584604: 2级c 语言的一道题 若有定义:char *st="how are you "; 下列程序段正确的是: -
赧尹艾汀:[选项] A. char a[11],*p;strcpy(p=a+1,&st[4]); B. char a[11];strcpy(++a,st); C. char a[11];strcpy(a,st); D. char a[],*p;strcpy(p=&a[1],st+2);

吉林市13614584604: C语言简单习题:设已有定义: char *st="How are you"; 下列程序段中正确的是 -
赧尹艾汀: 选A B选项错误是因为a是数组名,是个常量,不可改变,不能进行自增运算 C错误是因为st指向的字符串,因为末尾会自动添'\0',所以长度为11+1=12,a只有11个元素,放不下,会溢出. D不能通过编译.char a[];没有指定数组长度,编译不能通过.

吉林市13614584604: 以下正确的程序段是(C)为什么啊?ABD都错哪了? A char s[]="12345",t[]= -
赧尹艾汀: A) t比s长,要用strncpy方式出问题 B) s没有初始化 D) s,t都是分配到不可写的空间了.作为常量了.写s会导致段错误.

吉林市13614584604: 以下正确的程序段是 -
赧尹艾汀: C是正确的.

吉林市13614584604: 5.以下正确的程序段是_________. -
赧尹艾汀:[选项] A. char str[20]; scanf("%s", &str[2]); B. char str[20],*p=str; scanf("%s", p[2]); C. char str[20]; scanf("%s",&str); D. char *p; scanf("%s",p);

吉林市13614584604: 一道C语言关于字符串和指针的选择题
赧尹艾汀: A. str1指向的是12345+'\0'这6个字节 str2指向的是abcdef+'\0'这7个字节 我们假设紧接着str1的6个字节的后面,存有一个别的变量str3, 那么如果把7个字节拷贝到6个字节的位置,多出来的那个字节就会影响到后面的str3. B. str[10]在建立以后...

吉林市13614584604: 17.若有说明:int *p,m=5,n;以下正确的程序段是 -
赧尹艾汀:[选项] A. )p=&n;scanf("%d",&p); B. )p=&n;scanf("%d",*p) C. )scanf("%d",&n);*p=n; D. )p=&n;*p=m ; d哪里错了

吉林市13614584604: 以下正确的程序段是 .
赧尹艾汀: 应该是C,如果scanf没写错的话

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网