Zeng-fh 2022-02-05 19:44 采纳率: 89.8%
浏览 16
已结题

这个程序运行怎么分析呀


//例:程序运行时输入 welcome you to beijing并按<Enter>键,输出结果为 w,you,jing,o 
//怎么来的呀? 
#include <stdio.h>
main()
{
    char v[4][10];int i;
    for(i=0;i<4;i++)
       scanf("%s",v[i]);
    printf("%c,%s.%s,%c",**v,*(v+1),v[3]+3,*(v[2]+1));
}
  • 写回答

1条回答 默认 最新

  • 慕雪华年 C/C++领域新星创作者 2022-02-05 20:04
    关注
    • 这里的char v[4][10];是一个二维数组,每一行可以放10个元素
    • for循环就是依次往二维数组的每一行里面输入字符串

    printf函数需要一一分析
    v是二维数组首元素的地址,二维数组的首元素是第一行

    • **v:*v是数组第一行首元素的地址,**v是二维数组第一行的首元素,也就是w
    • *(v+1):v+1是数组第二行的地址,*(v+1)是第二行首元素的地址,%s打印会从这个地址开始一直打印到\0停止,也就是打印输入的第二个字符串you
    • v[3]+3:v[3]是数组第四行的地址,v[3]+3指向数组第四行的第4个元素j,从这里开始%s打印jing
    • *(v[2]+1):v[2]是数组第三行的地址,v[2]+1指向数组第三行的第二个元素,解引用后%c打印,第二个元素是字符o

    如果对你有帮助,还请点个采纳,万分感谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月13日
  • 已采纳回答 2月5日
  • 创建了问题 2月5日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效