A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

若有说明语句:
            int a, b, c, *d=&c;
    则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是(  )。

A. scanf("%d%d%d", &a, &b, d);
B. scanf("%d%d%d", a, b, d);
C. scanf("%d%d%d", &a, &b, &d);
D. scanf("%d%d%d", a, b,*d);

评分

参与人数 6黑马币 +31 收起 理由
为了理想而奋斗 + 1 赞一个!
黑马贾永强 + 8 赞一个!
heiheihehe + 10 赞一个!
黑马潜力股 + 5
qiancheng + 2 赞一个!
华夏文明_2008 + 5 神马都是浮云

查看全部评分

63 个回复

正序浏览
选A,sacnf函数 输入是地址,a、b都加地址符&。c的指针是d,d存储的就是c的地址。
回复 使用道具 举报
选aAA......*d=&c,这个是指针....也是地址
回复 使用道具 举报
选A 原因: scanf函数接收的是地址, d是指针型变量 本身就是存储地址的 他已经存储了c的地址 因此不需要加取地址符, 而a和b 是整形变量, 所以需要加取地址符号
回复 使用道具 举报
本帖最后由 Milk❤ 于 2015-6-26 23:05 编辑

选A 原因: scanf函数接收的是地址, d是指针型变量 本身就是存储地址的 他已经存储了c的地址 因此不需要加取地址符, 而a和b 是整形变量, 所以需要加取地址符号
回复 使用道具 举报
后面都应该是地址,d=&C
回复 使用道具 举报
scanf后面的变量应该是地址,&a,&b和d都是地址,应该是选A
回复 使用道具 举报
我觉得选a
回复 使用道具 举报
果断A搞起,*d=&c,所以根据scanf输出要求,&(&c)=&(*d)=d,   so.....
回复 使用道具 举报
果断A搞起
回复 使用道具 举报
woaiqpl 发表于 2015-6-13 07:24
你这技术太厉害

== 理所当然的选择C选项。。。
回复 使用道具 举报
赞一个,,,问得挺好的一个题啊
回复 使用道具 举报
*d是指针,所以选c
回复 使用道具 举报
fixer 中级黑马 2015-6-21 19:38:28
52#
答案AAA呀
回复 使用道具 举报
一起加油!!!!!!!
回复 使用道具 举报
李竞还活着 发表于 2015-6-12 21:40
很显然,这是今天考试考核的一个考题,嘿嘿,我刚刚听顺治帝讲解,明白这是一个指针问题,选择C选项。 ...

李老师技术太厉害.
回复 使用道具 举报
kalon 中级黑马 2015-6-20 17:24:33
49#
  这个必须收藏
回复 使用道具 举报
kalon 中级黑马 2015-6-20 17:23:27
48#
  这个必须收藏
回复 使用道具 举报
首先scanf("%d,%d,%d",x,x,x);后面三个明显是输入地址,分别是&a,&b,d. 这个地方有一个误区是  int *d = &c 认为*d = &c.   正确应该是  d = &c
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 加入黑马