除了第二行i =7前面的PROGRAM 为啥输出不懂外其他的都能懂,第一行的首字母P 应该是*a输出的,后面的是b+1输出的,然后换行就应该输出i =7的啊?为啥还是输出PROGROAM?求解答
问题:C语言中的指针输出问题
除了第二行i =7前面的PROGRAM 为啥输出不懂外其他的都能懂,第一行的首字母P 应该是*a输出的,后面的是b+1输出的,然后换行就应该输出i =7的啊?为啥还是输出PROGROAM?求解答
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- threenewbee 2023-06-24 21:14关注
printf("%c%s\n",*a, b+1); 这个输出 a的第一个字符和b的第二个开始到结尾再换行,所以是 Program while (putchar(*(a + i))) i++; 这个会输出 PROGRAM(每次循环输出一个字母)然后 printf("i = %d\n", i);输出此时i的变量,也就是当*(a+i)为\0的时候的i,所以是字符串长度7,再换行 while (--i) putchar(*(b+i)); 这个从后到前输出b,当i=1的时候,--i为0,不循环,所以这个不输出第一个字母p,是margor 然后输出了换行,再从b[3]也就是第四个字符开始输出b,所以是 gram
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口
- ¥15 如何能达到用ping0.cc检测成这样?如图
- ¥15 关于#DMA固件#的问题,请各位专家解答!
- ¥15 matlab生成的x1图不趋于稳定,之后的图像是稳定的水平线
- ¥15 请问华为OD岗位的内部职业发展通道都有哪些,以及各个级别晋升的要求
- ¥20 微信小程序 canvas 问题
- ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
- ¥15 怎么把512还原为520格式
- ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
- ¥15 求高通平台Softsim调试经验