#include <stdio.h>
int main()
{
char s[]="9876";
char *p=s;
for(;p<s+2;p++)
printf("%s ",p);
return 0;
}
天,我怎么理解不了……如果s+2是76的话,为什么p=s=9876会比s+2小?难道是p=9比s+2小?我觉得我可能短路了,暴风哭泣
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- bekote 2021-08-10 21:24关注
p是指针,指针的加减是地址值的加减,*p=s时,p在9的位置上,p+1时p在8的位置,p<s+2,所以p在7的位置就会退出循环
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 access多表提取相同字段数据并合并
- ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
- ¥20 Java-Oj-桌布的计算
- ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
- ¥20 有人知道这种图怎么画吗?
- ¥15 pyqt6如何引用qrc文件加载里面的的资源
- ¥15 安卓JNI项目使用lua上的问题
- ¥20 RL+GNN解决人员排班问题时梯度消失
- ¥60 要数控稳压电源测试数据
- ¥15 能帮我写下这个编程吗