下面程序的运行结果是什么?为什么是该结果?

来源:百度知道 编辑:UC知道 时间:2024/07/03 01:02:21
#include <stdio.h>
#include <string.h>

main()

{
char food[]="Yummy";
char *ptr;

ptr = food + strlen(food);

while (--ptr >= food)
{
puts(ptr);
}
}

上面的结果应该是对的。我没有编译器。解释如下:
ptr = food + strlen(food);这句就是ptr现在指向food的最后一个数据是/0可以不计。循环指的是当ptr的地址>food时就输入字符串然后地址后退一个字符。当ptr小于food时停止。于是就会出现上面的结果。
如果还是不懂可以直接在HI上找我,白天我会一直在。

y
my
mmy
ummy
Yummy