求教指针

学计算机的小白 2019-06-25 05:13:34
#include"stdio.h" #include"string.h" int main() { char s[100]; char *p=s; printf("input a string:"); gets(s); while(*p)p++; p--; while(p>=s) { printf("%c",*p); p--; } } while(*p)p++;后p指向字符串末尾,为什么还要p--?删掉之后照样可以运行啊,是必要的吗?
...全文
142 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 Italink的回复:
[quote=引用 2 楼 李小龙的传人 的回复:]
[quote=引用 1 楼 Italink的回复:]while(*p)p++;结束之后p执行末尾字符的下一个位置,也就是终止字符'\0',如果你不p--,那么会输出终止符

又是你啊,兄弟,怎么还要十个字[/quote]
hhh,缘分呐[/quote] 怎么结贴帖啊,…………
自信男孩 2019-06-26
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <string.h>

int main()
{
char s[100];
char *p = s;
printf("input a string:");
gets(s);
while(*p)
p++;

//上面的操作之后,p指向'\0',p--是为了让p指向邮箱字符串的末尾
p--;

while(p>=s)
{
printf("%c",*p);
p--;
}
putchar(10);

return 0;
}

供参考~
  • 打赏
  • 举报
回复
手机怎么没有…………
Italink 2019-06-26
  • 打赏
  • 举报
回复
电脑上,帖子右上角有结贴
Italink 2019-06-25
  • 打赏
  • 举报
回复
引用 2 楼 李小龙的传人 的回复:
[quote=引用 1 楼 Italink的回复:]while(*p)p++;结束之后p执行末尾字符的下一个位置,也就是终止字符'\0',如果你不p--,那么会输出终止符

又是你啊,兄弟,怎么还要十个字[/quote]
hhh,缘分呐
gouyanfen 2019-06-25
  • 打赏
  • 举报
回复
引用 2 楼 李小龙的传人 的回复:
[quote=引用 1 楼 Italink的回复:]while(*p)p++;结束之后p执行末尾字符的下一个位置,也就是终止字符'\0',如果你不p--,那么会输出终止符
又是你啊,兄弟,怎么还要十个字[/quote] 别人给你回答了,你满意就结贴,又。。。结贴率0%
  • 打赏
  • 举报
回复
引用 1 楼 Italink的回复:
while(*p)p++;结束之后p执行末尾字符的下一个位置,也就是终止字符'\0',如果你不p--,那么会输出终止符
又是你啊,兄弟,怎么还要十个字
Italink 2019-06-25
  • 打赏
  • 举报
回复
while(*p)p++;结束之后p执行末尾字符的下一个位置,也就是终止字符'\0',如果你不p--,那么会输出终止符

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧