提醒易错题

2-1

不正确的赋值或赋初值的方式是__c__。

char str[]="string";

char str[7]={'s', 't', 'r', 'i', 'n', 'g'};

char str[10];str="string";

char str[7]={'s', 't', 'r', 'i', 'n', 'g', '\0’};

有说明语句int a[4][5];,则a[2]+3表示__。 (2分)

a数组行下标为2、列下标为3的元素的地址

#include<stdio.h>
#include<string.h>
int main(){
	int m,n;
	m=sizeof("abc00def");
	n=strlen("abc00def");
	printf("%d %d",m,n);
} 

sizeof算字符长度\n \后面跟三个数都一样\0不停 总长度加1

strlen从\0停

3、以下哪个定义中的p不是指针,请选择恰当的选项: (C)

A、char **p;
B、char (*p)[10];
C、char *p[6];
D、给出的三项中,p都是指针
【C为数组里的元素为指针】

4、有两个字符数组a,b,则以下正确的输入语句是(B)

A、gets(a,b);
B、scanf("%s%s",a,b);
C、scanf("%s%s",&a,&b);
D、gets(“a”),gets(“b”);
【“字符数组” 数组名“a、b”就表示地址,所以不需要用“&”地址符。】

 以下scanf函数调用语句中不正确的是_c_。

struct pupil {
    char name[20];
    int age;
    int sex;
} pup[5], *p=pup;

scanf("%s", pup[0].name);

scanf("%d", &pup[0].age);

scanf("%d", p->age);

scanf("%d", &(p->sex));

看不懂

For the following declarations, assignment expression B__ is not correct.

struct Student {
    long num;
    char name[20];
} st1, st2={101, "Tom"}, *p=&st1;

(2分)

st1 = st2

p->name = st2.name

p->num = st2.num

*p=st2

函数形参的存储单元是动态分配的。T

静态变量的作用域是整个文件。F

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值