学不死就死里xue 发表于 2022-11-9 13:08:52

指针

#include<stdio.h>

int main()
{
        int a="123";
       
        int *p= &a;
       
        printf("%d",p);
        return 0;
}


这里哪里问题呀 一直说无效的转化 学了n久指针还是一头雾水

tommyyu 发表于 2022-11-9 13:11:32

倒数第三行改为 printf("%d",*p); 试试

还有,你的 a 是一个 int 类型的变量,为什么给它赋值了"123"?

学不死就死里xue 发表于 2022-11-9 13:15:49

tommyyu 发表于 2022-11-9 13:11
倒数第三行改为 printf("%d",*p); 试试

还有,你的 a 是一个 int 类型的变量,为什么给它赋值了"123"?

大佬这边打印*p是啥意思

学不死就死里xue 发表于 2022-11-9 13:17:42

这个*p是a的地址是吗 就是a的值是多少他就是多少

tommyyu 发表于 2022-11-9 13:44:16

学不死就死里xue 发表于 2022-11-9 13:17
这个*p是a的地址是吗 就是a的值是多少他就是多少

p 是 a 的地址, *p 就是 a 的值

tommyyu 发表于 2022-11-9 13:45:13

你第五行的 int a = "123"; 里面 123 为什么带引号?

我是扬帆起航 发表于 2022-11-9 17:21:11

指针P中存放的是地址,*p是取出地址上的值,你写的%d与p的类型不一致;还有就是int a=123;不需要加“
页: [1]
查看完整版本: 指针