c语言,指针打印问题
本人刚开始学C,关于指针还不太明白,请问:如下程序,按照预期,应该打印3次
但是实际打印不是3次,并且n不是从1开始打印,*p的值打印出来一直为空字符
这是为什么?
#include "stdafx.h"
int main()
{
char s[] = "abc\0";
char *p = s;
int n;
for (n = 0; *p != '\0', p++;) {
n++;
printf("n = %d\tp = %p\t*p = %c\n", n, p, *p);
}
return 0;
}