C语言,这段代码明明正确了为什么运行不起来?谢谢啊。 编译通过,运行却报错了,怎么回事啊
展开全部
不要给指针变量直接赋值啊
追问
指针不能直接输出,必须让指针指向一个变量名,才能正常输出指针的值,是吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
变量类型定义错了。
应该是:
int p1=123;
int p2=888;
printf("%d %d\n",p1,p2);
应该是:
int p1=123;
int p2=888;
printf("%d %d\n",p1,p2);
更多追问追答
追问
不不,我想用的是指针啊
追答
指针变量要使用malloc申请存储空间后才能使用的。光定义int *p1;int *p2;只是申请了存放指针的空间,并未申请存放数据的空间啊。况且这个值是地址,只能由系统分配,不能人工指定的。
#include
#include
void main()
{int *p1,*p2;
p1=malloc(sizeof(int));
p2=malloc(sizeof(int));
*p1=123;
*p2=888;
printf("%d %d\n",*p1,*p2);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询