在C语言中,若*S=1;则S[0],S[1]的值是多少,可以详细解释一下吗?
展开全部
与变量声明和初始化有关。
若*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]
未初始化,
数值不确定。
若*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]
未初始化,
数值不确定。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询