25. 下列程序运行后的输出结果是().

25. 下列程序运行后的输出结果是().
main()
{ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;
int i=8;
p=a+i;
printf("%sn",p-3);
}
A.123456789 B.6789 C.'6' D.789
求解释过程...
有补贴的猪 1年前 已收到1个回答 举报

zixm 春芽

共回答了12个问题采纳率:91.7% 举报

选B
“1234567890”相当于一个字符转,a为该字符串的首地址,即指向‘1’内存单元的地址,
a+8,为内存单元‘9’所对应的地址,
即p=a+8-3
所以p指向的是a+5内存单元(即‘6’),所以从‘6’开始输出字符串,遇到‘’(即0)则停止.
所以为6789
不懂请追问,

1年前

10
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.031 s. - webmaster@yulucn.com