黑马程序员技术交流社区

标题: c语言指针问题 [打印本页]

作者: 陈昭燊    时间: 2015-10-15 19:48
标题: c语言指针问题
若有说明语句:
            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-10-15 19:51
aaaaaaaaaaaaaa
作者: 杰杰    时间: 2015-10-15 20:05
感觉是A       指针d指向变量c    d指向c的地址  
作者: 谁在放荡    时间: 2015-10-18 17:13
答案C。指针就是地址。A中错误在于应该是*d
作者: Brisingr    时间: 2015-10-18 18:59
谁在放荡 发表于 2015-10-18 17:13
答案C。指针就是地址。A中错误在于应该是*d

答案是A吧兄弟,*d就是c的值,d才是c的地址
作者: 思考的戏    时间: 2015-10-18 19:20
AAAAAAAAAAAAA
作者: zhudong100    时间: 2015-10-19 11:54
scanf(“格式控制字符串”,地址列表),后面应该表达地址,所以是A。
作者: 汪坤洋    时间: 2015-10-19 12:09
我猜是a
作者: 卫博生    时间: 2015-10-19 12:26
应该是A,应该前面已经将C的变量地址传递给了指针d,那么D中就已经存放啦C的地址,所以在scanf中需要C地址的地方,直接使用D即可
作者: 汪坤洋    时间: 2015-10-19 12:42
我试过了  a是没有问题的   c也不会报错 但是不会把输入的值赋值给d
作者: 福星    时间: 2015-10-19 13:21
A.scanf(%d%d%d”,&a,&b,d);

对于int c,*d=&c;,c是一整型数据,d是一指针,它指向变量c(即d=&c,*是指针类型的说明符),所以,输入c的值可以用scanf("%d",&c); 也可以用scanf("%d",d);
作者: LPz1994    时间: 2015-10-19 13:54
EEEEEEEEEEEE
作者: 你又痴我又迷    时间: 2015-10-19 15:02
选A
另外给楼主说一下 指针使用三板斧,第一定义指针,第二关联指针,第三解引用指针。
不知道如何赋值可以搜索下野指针问题。

作者: 谁在放荡    时间: 2015-10-19 17:47
Brisingr 发表于 2015-10-18 18:59
答案是A吧兄弟,*d就是c的值,d才是c的地址

我错了,是A,理解还不到位,见谅




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