【发布时间】:2023-02-07 01:39:00
【问题描述】:
尽管使用 double 作为数据类型和正确的格式说明符,但输出不打印正确的变量地址,输出仅包含零
`#include<stdio.h>
void main()
{
double a[5]={6.0,7.0,8.0,9.0,10.0};
double *p;
p=a;
printf("%lf \n",p);
for(int i=0;i<5;i++)
{
printf("%lf \n",p++);
}
}`
Output: 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
【问题讨论】:
-
您不能使用
%lf来打印指针。您是要打印指针本身还是指向的值? -
您可能需要
*p和*p++。 -
另外,如果您使用
%p,则转换为(void*)。