楼兰经历 2022-08-12 23:19 采纳率: 88.5%
浏览 52
已结题

计算机二级C语言考试

img


计算机二级C语言考试,看不懂解析,麻烦各位帮忙解释下!谢谢!

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-08-12 23:58
    关注

    *p 是个指针, p = b ==> p 指向字符串 *b = "Welcome you to Beijing!" 的首地址,即字符‘W'。
    while(*p != *a) p++; 这句是在字符串 b 查找,字符串 a 的首字符’y' 出现的位置并用 p 标记,即*p=‘W', *a='y' ,*p != *a ,p++; *p='e',*a='y', *p != *a,p++;....*p='y',*a='y', *p == *a 跳出while循环。
    此时,p 定位在字符串 b 的’y‘字符上,*p = 'y'。
    p+=strlen(a)+1 ==> p = p+strlen(a)+1 = p+3+1=p+4, p+偏移量4 ,将指针p从'y'开始后移4个字符,此时指针p 定位在字符 't'上 ,即 *p = 't'。
    printf("%s",p); 输出指针p 指向的字符开始,直到遇到'\0'结束符的所有字符,即 p = “to Beijing!",所以最后输出:to Beijing!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月13日
  • 已采纳回答 8月13日
  • 创建了问题 8月12日