学习C时,遇到一个不能理解的问题,求大神指导,不胜感激
代码如下:
#include <stdio.h>
int main()
{
int* p;
int i;
printf("请输入5个数:");
for(i=0;i<5;i++)
{
scanf("%d",p+i);
}
printf("这5个数是:");
for(i=0;i<5;i++)
{
printf("%d ",*(p+i));
}
return 0;
}
运行结果:
请输入5个数:5 6 7 8 9
这5个数是:2293556 6 7 8 9
Process returned 0 (0x0) execution time : 8.287 s
Press any key to continue.
为什么输出的第一个感觉是内存地址?而我换成数组就对了,求指导。
代码:
#include <stdio.h>
int main()
{
int a[5];
int i;
printf("请输入5个数:");
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
printf("这5个数是:");
for(i=0;i<5;i++)
{
printf("%d ",a[i]);
}
return 0;
}
结果:
请输入5个数:5 6 7 8 9
这5个数是:5 6 7 8 9
Process returned 0 (0x0) execution time : 18.165 s
Press any key to continue.