gpt4 book ai didi

c - C 语言编程中的 double 指针

转载 作者:行者123 更新时间:2023-11-30 21:31:10 25 4
gpt4 key购买 nike

好吧,这是我必须做的,但我无法让它工作:

a) 更改为 float 而不是整数。并将 0.3 作为起始值分配给“u”。

b) 使用 double 而不是整数。将 0.3x10^45 指定为“u”的起始值。

c) 使用字符而不是整数。将“u”的起始值指定为“C”。

#include <stdio.h>
main ()
{
int u = 3;
int v;
int *pu;
int *pv;
pu = &u;
v = *pu;
pv = &v;

printf("\nu=%d &u=%X pu=%X *pu=%d", u, &u, pu, *pu);
printf("\n\nv=%d &v=%X pv=%X *pv=%d", v, &v, pv, *pv);
}

如果有人可以修改我的代码来执行上述操作,我将非常感激。谢谢

最佳答案

这个问题正在测试一些事情。首先你知道自己的类型吗?您应该知道 float 用 float 声明, double 用 double 声明,字符用 char 声明。

其次,您应该知道如何为这些不同类型分配文字值。对于浮点文字,您可能需要使用 0.3f,因为如果没有该后缀,默认情况下它将是 double (尽管在这种情况下它不会产生任何区别)。对于 double ,您需要知道如何使用科学计数法(字面值应为 0.3e45)。我希望字符字面量对您来说相当明显。

最后,您应该了解 printf 格式规范中使用的各种类型字符。单精度和 double 字都使用相同类型的字符,但您可以选择 %e%f%g,具体取决于您的要求。我倾向于使用 %g 作为一个很好的通用选择,但我的猜测是他们希望您使用 %e 作为 double (因为这迫使使用科学符号),可能还有 %f 表示 float - 这取决于您所学的内容。对于字符,您使用 %c

另请注意,您应该只替换格式字符串中的 %d 类型字符。 %X 值用于输出指针的十六进制表示形式(&upu)。指针不会仅仅因为所指向的类型发生更改而更改为浮点值或字符 - 当您将其写出时,地址始终是整数。

关于c - C 语言编程中的 double 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17602343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com