C语言遇到不明白的了,求大神解救
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
int a[10];
int *p;
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
p=a;
for(;p<a+10;)
{
printf("%d",(*p)++);
}
return 0;
}
这段代码为什么会出现死循环啊
[解决办法]
(*p)++是p指向的a[0]做++,循环是将a[0]输出后再加一,一直循环下去。
象1L那样改为*p++,输出p指向的(*p)后,再将p指向下一个数组元素(p++)。这里++仅作用于指针变量p