为了账号安全,请及时绑定邮箱和手机立即绑定

142. 下面程序的输出结果是( )。

142. 下面程序的输出结果是( )。

C
包小龙虾 2018-08-04 13:31:13
142. 下面程序的输出结果是( )。#include<stdio.h>void main(){int i;char *s="abc";for(i=0;i<3;i++)printf("%s\n",s+i);}A. abcbccB. cbcabcC. abccbcD. aababc求详细解析,谢谢
查看完整描述

3 回答

?
橋本奈奈未

TA贡献436条经验 获得超108个赞

s指针指向字符串‘abc’的地址,for循环每次将s的地址值加1,可以这么理解:

  | a | b | c |

*s

一开始指向的是a前面这个空位,+1相当于把指针往后移一位。

查看完整回答
反对 回复 2018-08-04
  • 包小龙虾
    包小龙虾
    我是觉得i=0,输出a,并换行 i=1,输出b,并换行 i=2,输出c,并换行 还是不怎么理解这边,可以再解释下吗,拜托了
  • 修裾欲溯空
    修裾欲溯空
    %s输出的是字符串,那么它是怎么输出字符串的呢?是通过找地址,对于一个数组来说,地址就是数组名,所以输出的是地址以后的所有,直到空格或者回车才停下。 这样说你懂吗
  • 包小龙虾
    包小龙虾
    是直到\0才停止吧?
?
修裾欲溯空

TA贡献34条经验 获得超4个赞

abc
bc
c

查看完整回答
反对 回复 2018-08-04
点击展开后面2
?
修裾欲溯空

TA贡献34条经验 获得超4个赞

同学你是准备过二级吗

查看完整回答
反对 回复 2018-08-04
  • 3 回答
  • 0 关注
  • 1178 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信