| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1583 人关注过本帖
标题:二级模拟题 找大佬看看
只看楼主 加入收藏
q630360553
Rank: 2
等 级:论坛游民
帖 子:19
专家分:48
注 册:2017-10-19
结帖率:25%
收藏
已结贴  问题点数:20 回复次数:4 
二级模拟题 找大佬看看
若有定义语句:
inta[2][3],*p[3];
则以下语句中正确的是 (c)
A   p=a;
B   p[0]=a;
C   p[0]=&a[1][2];
D   p[1]=&a;
b选项哪里错了
搜索更多相关主题的帖子: 二级 模拟 定义 语句 选项 
2018-02-02 09:49
kin3z
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:157
专家分:390
注 册:2011-4-24
收藏
得分:5 
程序代码:
#include <stdio.h>
int main(int argc, char **argv){
    int a[2][3] = {{11,12,13},{21,22,23}};
    int *p[3];
      
    p[0] = a;
    //test1.c:7:10: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
    
    printf("a=%p,p=%p.\n",a,p);

    return 0;
} 


提示用错了不同的数据类型作赋值,你不妨试试另外3个语句,看看那个顺利通过后再分析研究
2018-02-02 10:02
lulipro
Rank: 2
等 级:论坛游民
威 望:1
帖 子:11
专家分:60
注 册:2016-4-5
收藏
得分:5 
b选项错在类型不匹配。在C语言中赋值需要双方类型匹配(或者兼容),p是一个数组,数组中的元素是int* 类型,也就是每个元素都是一个int类型的指针变量。而a的类型是int(*)[3]类型。不能将int(*)[3]类型赋值给int*类型。
2018-02-02 12:56
Jeyyion_han
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:207
专家分:301
注 册:2018-1-22
收藏
得分:5 
你这p[0]应该是一个地址呀
2018-02-02 18:47
niuniul
Rank: 2
等 级:论坛游民
威 望:2
帖 子:56
专家分:60
注 册:2018-1-13
收藏
得分:5 
p[0]是一个指针,值是内存地址;a是一个数组,两者不一样

不见满街漂亮妹,哪个归得程序员?
2018-02-04 16:12
快速回复:二级模拟题 找大佬看看
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014650 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved