【发布时间】:2013-05-14 05:36:12
【问题描述】:
代码示例如下:
#include<stdio.h>
void main()
{
char *s={"abcd"};
do {
printf("%d\n",++s);
} while(*s);
}
循环结束时指针s指向哪里?它是如何工作的?
【问题讨论】:
-
你的 printf 告诉你什么?
-
s指向循环结束时'd'之后的 0 字节。 -
顺便说一下,您不应该使用
%d作为printf中的指针。如果要打印出指针值,请使用%p。