
求大神告知,一个简单的c语言编程问题。。。这个程序到底那里不对或者哪里不规范?小弟拜谢各位 50
3个回答
展开全部
*P和*s是整形的指针变量,在定义指针时一定要初始化或定义为空。否则指针会指向内存的任何一个位置,会产生不可预料的后果。定义指针时可以“int *p=&i”或“int *p;p=&i”。
追问
请问i是啥?
追答
那个i就是一个变量,也可以是a,b。如你定义也个整型变量“int a”
然后你就可以把a的地址赋予指针p“p=&a”也就是完成了赋值。或者“int a; int *p=&a;”这是初始化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void main()
{
int *p=NULL,*s=NULL,a;//在Visual C++环境定义指针变量时,一定要初始化它,
a=*p+*s;//让它指向你想要的地址或者NULL,不能什么都不做,这样它会乱指向导致出错
printf("a=%d\n*p=%lu\n*s=%lu\n",a,p,s);
}
void main()
{
int *p=NULL,*s=NULL,a;//在Visual C++环境定义指针变量时,一定要初始化它,
a=*p+*s;//让它指向你想要的地址或者NULL,不能什么都不做,这样它会乱指向导致出错
printf("a=%d\n*p=%lu\n*s=%lu\n",a,p,s);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-11-14 · 知道合伙人教育行家

知道合伙人教育行家
采纳数:17564
获赞数:65191
爱电脑、爱数学、爱音乐; 熟悉VB、C/C++、JAVA; EXCEL与VBA有所研究…… 数学,一些会,一些被忘却……
向TA提问 私信TA
关注

展开全部
指针p与s没有被初始化,它的值是不确定的,书上不是说得很清楚了吗?!
追问
请问该如何初始化?
追答
你可以定义两个变量,再把指针指向两变量,或者直接把指针初始化为空。
比如:
int *p,*s,a,b;
p=&a;
s=&b;
......
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询