在C语言中,若*S=1;则S[0],S[1]的值是多少,可以详细解释一下吗?

 我来答
简尔清寻桃
2019-12-01 · TA获得超过3929个赞
知道大有可为答主
回答量:3084
采纳率:29%
帮助的人:428万
展开全部
与变量声明和初始化有关。
若*S=1;则S[0]
也等于
1。
因为中括号是运算符,可以化为:
s[0]
=
*(s+0)
等于
*(s)
等于
*s.
类似,
s[1]
=
*(s+1),
它的值

变量声明和初始化有关。
假如是:
int
a[]={11,12,13,14,15};
int
*s=a;
*s=1;
那么
s[1]
的值没变,等于
a[1],
仍等于
12。
因为初始化时,s
指向了
a
数组的首地址,那时,s[0]=11,s[1]=12,...
*s=1;
改变了
s[0],没改变其它的值。

不是这样的程序,s
未初始化,例如:
int
*s;
*s=1;
那么
s[0]

1,s[1]
未初始化,
数值不确定。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式