c易错题(一)

刷题也有几天了,把自己刷题过程的错题整理出来,以便以后不会再犯同样的错误~~

1.已知int a[3][4];则下列可以表示a[1][2]元素的值的是()

           A.*(*(a+1)+2)

           B.*(a+1+2)

          C.(&a[0]+1)[2]

          D.*(a[0]+1)

这道题看着不是很难,差不多可以选出A,但是却不一定理解下边的选项为啥错。下边我来一个一个分析:



这下应该理解了吧~~

2.声明一个指向含有10个元素的数组的指针,其中每个元素是一个函数指针,该函数的返回值是int,参数是int*,则

这个数组指针的声明的原型是:int (*(*p)[10])(int *);

分析:这是一个指向10个元素的数组的指针,每个元素是函数指针,int (*)(int *)  (*p)[10];这样或许就能好点了吧。

3.链表和数组的区别:链表是一块不连续的动态空间,长度可变;链表需要按顺序检索结点,效率低;但是可以快速

插入和删除;不会越界~~数组是一块连续的空间,声明时长度需要确定;但是访问速度快;会有越界~

4.给出:char str[10];

             cin>>str;

如果输入“i love you”,输出str时,会输出什么??

只会输出“i”,原因是cin跟scanf有点类似,都是遇到空格,tab,回车就会自动截止~~(虽然被截止,但我依然爱你~~

题外话)

好了,先整理这么多~~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值