奥礼网
新记
char s[]="9876",*p;for(p=s;p<s+2;p++)printf("%s\n,p");答案为什么是9876 876
p<s+2.指针不是指在7上吗?要小于s+2的话,为什么还要输出76?
举报该文章
相关建议 推荐于2018-03-13
p=s;指针p指向s数组的首地址,输出
字符串
%s时,从9开始,输出整个字符串9876
p++后,p=s+1;指针p指向了s+1,指向了9876的8,输出字符串%s时,从8开始,输出876
再p++后,循环条件不成立,
跳出循环
,程序结束
所以,输出
9876
876
温馨提示:内容为网友见解,仅供参考
当前网址:
https://aolonic.com/aa/kad1g5w33.html
其他看法
第1个回答 2011-09-08
数组的下标是从0开始的。比如定义了int a【3】其实没有a【3】这个元素。因为a【0】,a【1】,a【2】已经是3个了
相似回答
大家正在搜
相关问题
char s[]="9876",*p;for(p=s;p<s...
main(){ char s[ ]="9876",*p; f...
main() { char s[]="1234",*p; f...
char s[]="9876",*p;for(p=s;p<s...
char s[]="ABCD"; main() { char...
char s[ ]="ABCD",*p; for (p=s;...
main() 答案:ABCD {char s[]="ABCD...
144、以下程序运行后的输出结果是 。【9876 876】 ...