小编SAN*_*KIE的帖子

使用 printf 使用 %d 打印浮点指针

当我运行此代码时,它会打印第一个 printf 中 a 的地址,以及第二个 printf 中 a 的值。

#include <stdio.h>
int main() 
{
float a=7.999999;
float *b,*c;
b=&a;
c=b;
printf ( "\n%u %u %u", &a, b, c );
printf ("\n%f %f %f %f",a,*( &a ),*b,*c );
}
Run Code Online (Sandbox Code Playgroud)

但是当我像这样在第二个 printf 中将 %f 更改为 %d 时。

#include <stdio.h>   
int main() 
{
float a=7.999999;
float *b,*c;
b=&a;
c=b;
printf ( "\n%u %u %u", &a, b, c );
printf ("\n%d %d %d %d",a,*( &a ),*b,*c );
}
Run Code Online (Sandbox Code Playgroud)

它在第二个 printf 中打印随机值,请解释原因。浮点指针应该使用 %f 打印,但为什么不能使用 %d …

c printf pointers

2
推荐指数
1
解决办法
2177
查看次数

标签 统计

c ×1

pointers ×1

printf ×1