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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈昭燊 中级黑马   /  2015-10-15 19:48  /  1999 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

若有说明语句:
            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);

哪个是正确答案?指针的该怎样赋值?

13 个回复

倒序浏览
aaaaaaaaaaaaaa
回复 使用道具 举报
感觉是A       指针d指向变量c    d指向c的地址  
回复 使用道具 举报
答案C。指针就是地址。A中错误在于应该是*d
回复 使用道具 举报
谁在放荡 发表于 2015-10-18 17:13
答案C。指针就是地址。A中错误在于应该是*d

答案是A吧兄弟,*d就是c的值,d才是c的地址
回复 使用道具 举报
AAAAAAAAAAAAA
回复 使用道具 举报
scanf(“格式控制字符串”,地址列表),后面应该表达地址,所以是A。
回复 使用道具 举报
我猜是a
回复 使用道具 举报
应该是A,应该前面已经将C的变量地址传递给了指针d,那么D中就已经存放啦C的地址,所以在scanf中需要C地址的地方,直接使用D即可
回复 使用道具 举报
我试过了  a是没有问题的   c也不会报错 但是不会把输入的值赋值给d
回复 使用道具 举报
福星 初级黑马 2015-10-19 13:21:31
11#
A.scanf(%d%d%d”,&a,&b,d);

对于int c,*d=&c;,c是一整型数据,d是一指针,它指向变量c(即d=&c,*是指针类型的说明符),所以,输入c的值可以用scanf("%d",&c); 也可以用scanf("%d",d);
回复 使用道具 举报
EEEEEEEEEEEE
回复 使用道具 举报
选A
另外给楼主说一下 指针使用三板斧,第一定义指针,第二关联指针,第三解引用指针。
不知道如何赋值可以搜索下野指针问题。
回复 使用道具 举报
Brisingr 发表于 2015-10-18 18:59
答案是A吧兄弟,*d就是c的值,d才是c的地址

我错了,是A,理解还不到位,见谅
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马