一道C语言选择题:以下正确的程序段是:()
A对 字符数组赋值可以不用&,用了也是对的
B错 只有一个指针,但是这个指针并未指向可用的空间。
C错 虽然程序运行没问题,但是这样做是从s[2]开始写入.s[0]和s[1]是随机值.
前面0~1元素的数据不确定会导致后面不能完整用str索引 ,获取不到正确值
D错 str是什么,如果前面初始化为char str[20],也是错的,因为p[2]是一个字符,不是地址
所以A对,C的话 可以运行,但是获取的值不对,看你怎么认为该选项对不对了
望采纳
a=10b=30c=10
因为 if 条件成立的话,没有花括号的情况默认执行后面的一条语句
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里面str本来就是个指向字符串的指针。
D里面p[2]表示字符串的第三个字符,加&才表示地址。
B应该也是对的啊!!
为什么B不对 !!
B是对的!!
其他同意楼上的!!
A里面str前不能加&
D里面要加&
A. char str[20]; scanf("%s",str);
D. char str[20],*p=str; scanf("%s",&p[2]);
C语言选择题(3道题),帮忙解答一下,谢谢!
第一题:先执行循环体:b-=a; a++;b=b-a=10-1=9,a=2,再判断条件:b--<0 b=9>0 然后b-- (注意无论判断条件是否满足,都执行),b=8 第二题:答案错了,应选D 程序应该这么看:int a=3,b=2,c=1;int x=10,y=20;if(ab就不满足条件,所以下面的不执行!if(b!=0)if(!x...
请问这三道C语言的习题应该选择什么(为什么)?
15.C A的原因在于未指定大小,又未进行初始化列表赋值(即int a[]={1,2,3};);B\/D的错误原因在于变量赋值大小,变量的值可以在中途被改变,数组的大小是再编译期便决定了的,中途不可变更,所以int a[b]违反要求,要这种写法,可以使用const int b = 10;18.A 你的注释上就是原因。char表...
几道简单的C语言选择题,帮忙做一下
1、为表示关系x≥y≥z,应使用C语言表达式 (A)2、执行下面程序段 (B)3、若有以下定义:float x;int a,b;则正确的switch 语句是 (C)4、能正确表示a和b同时为正或同时为负的逻辑表达式是(D)5、选择出合法的判断a和b是否相等的if语句(C)6、已知 int x=10,y=20,z=30,则执行(如果那些语...
C语言的几道选择题,求答案,谢谢
1.for(n=0,n<20;n++)控制循环执行(D)次。A.19 B.21 C.22 D.20 解释:从n=0运行到n=19,你数数,应该是20次吧!2.一个C语言源程序至少应包含一个( A )。A.Main函数 B.用户自定义函数 C.语句 D.printf函数 解释:main函数是机器的识别函数,程序在main函数...
15道C语言的选择题,请各位帮忙阿。
(C) printf(“%s”,str[0]); (D) printf(“%s”,str);2.下面程序的输出结果是( )。int fun(int x, int y){ int m=3;return(x*y-m);} main(){int a=7,b=5;printf(“%d\\n”,fun(a,b));} (A) 28 (B) 32 (C)35 (D) 12 3.若有说明:int a[3][4]; 则对a ...
C语言的选择题
1. 以下说法正确的是(C) (2分)C. C语言程序总是从main()函数开始执行 2. 对于基类型相同的两个指针变量之间,不能进行的运算是_C_。 (2分)C. + 3. 要说明一个有10个int 元素的数组,应当选择语句 (2分)A. int a[ 10 ];4. 有如下说明 int a[10] = {1,2,3,4,5,6,7,...
10道经典的C语言例题(含参考程序)
int main(){ int bai_wei,shi_wei,ge_wei,i,sum=0;for(i=100;i<1000;i++){ bai_wei=i\/100;shi_wei=(i%100)\/10;ge_wei=i%10;if(i==pow(bai_wei,3)+pow(shi_wei,3)+pow(ge_wei,3)){ printf("%d ",i);sum++;if(sum%5==0)printf(" ");} } printf(" ");return ...
C语言3道选择题。每道题要说明理由。我做错的,但不知道原因。谢谢_百 ...
第一题:规则规定不能给char *型指针赋值一个字符串常量,char *型指针只可以用一个字符串“初始化”。即char *p="English"正确,而char *p;p="English";不正确,前者是初始化,后者是赋值。第二题:ps+2是指针,不是取值;若是*(ps+2)就取到m了。第三题:一共9个元素,顺序从0排到8,...
c语言选择题10道
1、设 int *p , I ;以下正确合理的语句是(B )。 \/\/p未初始化,指向随机空间,不能赋值, 也不能提取实体。上机测试B通过,D编译错误 A、*p=10;B、i=p;C、i=*p;D、i=2*p+1;2、设 char s[10] ; int I ; 以下引用数组 s 中元素正确的表达式是(B )。 \/\/s[]可提取...
几道C语言的选择题,大家帮忙看看
1.B !比||优先级高,所以||最后算.而y=1,||左边不管是什么,最终结果都是1 2.B 数组名是常量,不允许改变.3.D b-=a,b变成9,然后a++,a变成2.再判断b-->0,条件不成立,结束循环,再是b--后面的--起作用,b变成8 4.C 不用多说了,b,c,d,e,f 5.CD a+1指向的是zhang的第2个...
边炭刺五: 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这...
扎鲁特旗13871645295: 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);
扎鲁特旗13871645295: 一道C语言关于字符串和指针的选择题?
边炭刺五: A. str1指向的是12345+'\0'这6个字节 str2指向的是abcdef+'\0'这7个字节 我们假设紧接着str1的6个字节的后面,存有一个别的变量str3, 那么如果把7个字节拷贝到6个字节的位置,多出来的那个字节就会影响到后面的str3. B. str[10]在建立以后...
扎鲁特旗13871645295: 一道C语言题目 - ?
边炭刺五: 排除法.A错.按这种格式应该这样输入:x=1,y=2(只是前面两个int型的) B、C不对.我只说D为什么对.因为按照题干这种输入,其输入中有空格,而getchar()把空格也当成字符来处理,所以应按D这种形式.希望对你有所帮助.
扎鲁特旗13871645295: c语言的一道题若有以下程序段:struct st{int n;int *m;};int a=2,b=3,c=5;struct st s[3]=({101,&a},{102,&c},{103,&b}}; main(){struct st *p;p=s;…}则以下表达式中值... - ?
边炭刺五:[答案] 做题目一般是用排除法,比较容易.首先明确几点,p是指向结构体类型的指针,m是指向整形的指针,同时作为指针,想获得c的值即5,A和C可以同时排除:A中的结果是个指针,不可能是5C中语法错误,m是指针必须用->来访问B和D的区...
扎鲁特旗13871645295: 计算机C语言一道选择题 谢谢 - ?
边炭刺五: c*pt->y 是pt结构体中的y元素(也就是a数组)的地址内存储的值,也就是a的第一个值1 pt->x 是pt中的x元素,是10++pt->x是说,pt中的x元素(10)自增1,这之后pt->x等于11了(pt++)->x 是取pt中的x元素(10),然后pt指向pt[1](也就是st数组中的第二个元素{20,b}).
扎鲁特旗13871645295: C语言题一道,如下: 若变量都以正确定义,则以下程序段的输出是: int a=10;b=50;c= - ?
边炭刺五: a=10b=30c=10 因为 if 条件成立的话,没有花括号的情况默认执行后面的一条语句
扎鲁特旗13871645295: 对下列程序段的描述正确的是 - ?
边炭刺五: 答案是A没错,因为这个值是不能确定的 在main函数中调用 fun(i++,i)函数时,两个形参的求值顺序和编译环境有关,有的从左到右,有的从右到左;在计算i的自增时也有算完一个就增加,或者全算完了再增加的情况.而这样得出的结果是不一样的.这个题目其实主要是要告诉我们,在编程时不要写出这种模糊能产生二义性的代码,同时也告诉我们去探求这种代码的结果是浪费时间,无意义的.实际编程的时候完全可以用fun(i+1,i) 或者 fun(i,i);i++ 来实现你的目的
扎鲁特旗13871645295: C语言作业题1、 要使以下程序段输出10个整数,请填入一个整数.for(i=0;i A B C D 2、 t为int型,进入下面的循环之前,t的值为0while (t=1) { …… }则以下叙述... - ?
边炭刺五:[答案] 1、 要使以下程序段输出10个整数,请填入一个整数. for(i=0;iy) z=x;x=y;y=z; 语句后,x、y、z 的值是( ). B) x=20,y=30,z=30 8、 以下不正确的if语句是( ). B) if (x=y)&&(x!=0) x+=y; 9、 以下选项中,两个条件语句语义等价的是( ). B) if(a-2)...