黑马程序员技术交流社区

标题: 今天碰到的一个小问题,麻烦大神解释一下,菜鸟,务笑 [打印本页]

作者: jening92    时间: 2015-6-12 21:26
标题: 今天碰到的一个小问题,麻烦大神解释一下,菜鸟,务笑
若有说明语句:
            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);
作者: 李竞还活着    时间: 2015-6-12 21:40
很显然,这是今天考试考核的一个考题,嘿嘿,我刚刚听顺治帝讲解,明白这是一个指针问题,选择C选项。
作者: jiangshengkai    时间: 2015-6-12 22:11
这是一个关于指针的问题,我认为选a。首先scanf("%d,%d,%d",x,x,x);后面三个明显是输入地址,分别是&a,&b,d.
这个地方有一个误区是  int *d = &c 认为*d = &c.   正确应该是  d = &c
作者: 洋柿子    时间: 2015-6-12 22:30
都是一个班的啊哈哈,scanf
作者: 洋柿子    时间: 2015-6-12 22:34
本帖最后由 洋柿子 于 2015-6-12 23:30 编辑

都是一个班的啊哈哈,scanf(“格式控制字符串”,地址列表),d是一个地址,&d是取到d变量的地址,感觉选a。是这样吗?
作者: LeoLi    时间: 2015-6-12 23:28
都是一个班的啊哈哈,scanf(“格式控制字符串”,地址列表),d是一个地址,&d是取到d变量的地址,感觉选a。
作者: 洋柿子    时间: 2015-6-12 23:32
LeoLi 发表于 2015-6-12 23:28
都是一个班的啊哈哈,scanf(“格式控制字符串”,地址列表),d是一个地址,&d是取到d变量的地址,感觉选a ...

是这样吗
作者: 晗修    时间: 2015-6-12 23:32
不是选a么 直接看变量类型就行了
作者: woaiqpl    时间: 2015-6-13 07:24
李竞还活着 发表于 2015-6-12 21:40
很显然,这是今天考试考核的一个考题,嘿嘿,我刚刚听顺治帝讲解,明白这是一个指针问题,选择C选项。 ...

你这技术太厉害
作者: fanxing    时间: 2015-6-13 09:37
李竞还活着 发表于 2015-6-12 21:40
很显然,这是今天考试考核的一个考题,嘿嘿,我刚刚听顺治帝讲解,明白这是一个指针问题,选择C选项。 ...

这个选a,亲自测了下

作者: 18425178    时间: 2015-6-13 11:44
应该是a吧 看变量类型也知道啊
作者: 天下1083    时间: 2015-6-13 18:49
答案A,*d是指针,的
作者: 天下1083    时间: 2015-6-13 18:50
d本来就是地址
作者: 龙瑞麟    时间: 2015-6-14 02:19
李竞还活着 发表于 2015-6-12 21:40
很显然,这是今天考试考核的一个考题,嘿嘿,我刚刚听顺治帝讲解,明白这是一个指针问题,选择C选项。 ...

支持李老师
作者: cxl19900517    时间: 2015-6-15 16:45
选A吧,*d = &c  代表着 d中存储的是c的地址,scanf函数,需要输入一个地址,
作者: goldboy    时间: 2015-6-15 16:52
woaiqpl 发表于 2015-6-13 07:24
你这技术太厉害

好像是选A吧
作者: Asskicker    时间: 2015-6-15 18:17
应该是A
作者: Chasel    时间: 2015-6-15 18:37
答案A,建议找到当天的视频重新学习一遍,咱们共同进步!
作者: 李竞还活着    时间: 2015-6-15 22:15
woaiqpl 发表于 2015-6-13 07:24
你这技术太厉害

好吧,我错了
作者: 李竞还活着    时间: 2015-6-15 22:16
fanxing 发表于 2015-6-13 09:37
这个选a,亲自测了下

好吧,大姐,我错了
作者: zilin    时间: 2015-6-15 22:45
选c个人认为不对,*d怎么还是一个地址
作者: ________倔強°    时间: 2015-6-15 23:23
自测之后证明我选错了 a
作者: 华夏文明_2008    时间: 2015-6-15 23:24
鼓励下小学弟!

作者: 毓秀钟灵    时间: 2015-6-16 00:11
明显选A啊
作者: 皇道金丹    时间: 2015-6-16 00:15
这题是进班的摸底考试,貌似我还选错了
作者: venn    时间: 2015-6-16 13:14
毫无疑问 c,,,
作者: 池莉娘子    时间: 2015-6-16 17:23
和明显是a
作者: 丁铭检    时间: 2015-6-16 18:09
答案很显然A
作者: 我丶就这样    时间: 2015-6-16 19:10
应该是A
作者: lz465350    时间: 2015-6-16 19:43
李竞还活着 发表于 2015-6-12 21:40
很显然,这是今天考试考核的一个考题,嘿嘿,我刚刚听顺治帝讲解,明白这是一个指针问题,选择C选项。 ...

选A吧,d = &c,因此scanf中可以用d代替&c.
作者: 天下1083    时间: 2015-6-16 19:52
测试题吧答案是a
作者: qiancheng    时间: 2015-6-16 22:19
虽然简单,但是受用了!
作者: 小龙女的萝卜    时间: 2015-6-17 19:14
李竞还活着 发表于 2015-6-12 21:40
很显然,这是今天考试考核的一个考题,嘿嘿,我刚刚听顺治帝讲解,明白这是一个指针问题,选择C选项。 ...

班长,这貌似是选A的吧
作者: aludiba    时间: 2015-6-17 20:11
qiancheng 发表于 2015-6-16 22:19
虽然简单,但是受用了!

简单受用
作者: XiaoBaoMi    时间: 2015-6-17 20:51
楼主说的好啊,学习了
作者: xiongmaoren518    时间: 2015-6-17 21:03
我认为选A,因为scanf后面接受的地址
作者: 李竞还活着    时间: 2015-6-17 21:55
小龙女的萝卜 发表于 2015-6-17 19:14
班长,这貌似是选A的吧

俺错了,哥儿啊
作者: 李言    时间: 2015-6-18 07:19
C啦,这个学到指针那里的时候就不是个事儿了
作者: 黑马潜力股    时间: 2015-6-18 12:53
这个答案具体到底是什么?问题还是可以.
作者: zhanghao2744491    时间: 2015-6-18 17:49
a.  看下视频
作者: 小龙女的萝卜    时间: 2015-6-18 20:53
李竞还活着 发表于 2015-6-17 21:55
俺错了,哥儿啊

在家的时候间看到你了
作者: 张国繁    时间: 2015-6-18 21:37
李竞还活着 发表于 2015-6-12 21:40
很显然,这是今天考试考核的一个考题,嘿嘿,我刚刚听顺治帝讲解,明白这是一个指针问题,选择C选项。 ...

班长解释的很到位啊!
作者: 李竞还活着    时间: 2015-6-19 06:49
张国繁 发表于 2015-6-18 21:37
班长解释的很到位啊!

很显然我错...
作者: 李竞还活着    时间: 2015-6-19 07:07
zilin 发表于 2015-6-15 22:45
选c个人认为不对,*d怎么还是一个地址

我错了...
作者: heiheihehe    时间: 2015-6-20 11:05
这一道题,看着挺简单了。但是却蕴含了许多知识点。长知识了
作者: q78296648    时间: 2015-6-20 16:40
首先scanf("%d,%d,%d",x,x,x);后面三个明显是输入地址,分别是&a,&b,d. 这个地方有一个误区是  int *d = &c 认为*d = &c.   正确应该是  d = &c
作者: kalon    时间: 2015-6-20 17:23
  这个必须收藏
作者: kalon    时间: 2015-6-20 17:24
  这个必须收藏
作者: 杨庆庆    时间: 2015-6-20 20:34
李竞还活着 发表于 2015-6-12 21:40
很显然,这是今天考试考核的一个考题,嘿嘿,我刚刚听顺治帝讲解,明白这是一个指针问题,选择C选项。 ...

李老师技术太厉害.
作者: 黑马贾永强    时间: 2015-6-21 17:13
一起加油!!!!!!!
作者: fixer    时间: 2015-6-21 19:38
答案AAA呀
作者: LEON27    时间: 2015-6-21 21:33
*d是指针,所以选c
作者: 杨庆庆    时间: 2015-6-21 22:00
赞一个,,,问得挺好的一个题啊
作者: S970028126    时间: 2015-6-22 22:05
woaiqpl 发表于 2015-6-13 07:24
你这技术太厉害

== 理所当然的选择C选项。。。
作者: Thomas-王    时间: 2015-6-22 23:13
果断A搞起
作者: Thomas-王    时间: 2015-6-22 23:15
果断A搞起,*d=&c,所以根据scanf输出要求,&(&c)=&(*d)=d,   so.....
作者: 马贺飞    时间: 2015-6-24 14:18
我觉得选a
作者: bsx881220    时间: 2015-6-24 22:34
scanf后面的变量应该是地址,&a,&b和d都是地址,应该是选A
作者: 果壳里的果冻    时间: 2015-6-25 01:29
后面都应该是地址,d=&C
作者: Milk❤    时间: 2015-6-26 23:03
本帖最后由 Milk❤ 于 2015-6-26 23:05 编辑

选A 原因: scanf函数接收的是地址, d是指针型变量 本身就是存储地址的 他已经存储了c的地址 因此不需要加取地址符, 而a和b 是整形变量, 所以需要加取地址符号
作者: Milk❤    时间: 2015-6-26 23:06
选A 原因: scanf函数接收的是地址, d是指针型变量 本身就是存储地址的 他已经存储了c的地址 因此不需要加取地址符, 而a和b 是整形变量, 所以需要加取地址符号
作者: 杨庆庆    时间: 2015-6-26 23:07
选aAA......*d=&c,这个是指针....也是地址
作者: LEON27    时间: 2015-6-26 23:10
选A,sacnf函数 输入是地址,a、b都加地址符&。c的指针是d,d存储的就是c的地址。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2