黑马程序员技术交流社区

标题: 帮我分析一下 [打印本页]

作者: hoohoo    时间: 2015-9-4 21:13
标题: 帮我分析一下
#include <stdio.h>

int main(){
   
    int a=3;
   
    int *p=&a;
    p=20;
   
    printf("%p\n",p);
   
   
    return 0;
}


打印出来0x....
我写的代码都不清楚意思
作者: lixianzhu0712    时间: 2015-9-4 21:17
。。。。。。。。。。。。。。。。。。。。。。。。。。。
作者: yibyli    时间: 2015-9-4 21:21
你是想改变a的值:那就* p=20;我不知道你最后想打印出什么
作者: hoohoo    时间: 2015-9-4 21:32
yibyli 发表于 2015-9-4 21:21
你是想改变a的值:那就* p=20;我不知道你最后想打印出什么

就是想改变a的值

作者: huahaoL    时间: 2015-9-4 21:34
应该写*p=20
作者: a124113798    时间: 2015-9-4 21:51
    p=20;
   
    printf("%p\n",p);
改为
*p = 20;
   printf("%d\n",a);
应该是你想要的结果
作者: weicongcing    时间: 2015-9-4 22:06
要么p=&a,
要么*p=20,p必须是地址
作者: pyy061    时间: 2015-9-4 22:21
p是指针变量,存放地址用的,能把20当做地址给p么..
作者: hoohoo    时间: 2015-9-4 22:38
明白一点点了,谢谢大家~
作者: 1wang2huan    时间: 2015-9-5 21:25
你想改变a的值,你要打印改变后的a的值啊,你打印地址干啥啊?




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