//例:程序运行时输入 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));
}
这个程序运行怎么分析呀
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 - 这里的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
如果对你有帮助,还请点个采纳,万分感谢!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥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之后自动重连失效