gpt4 book ai didi

转换 double < -> char

转载 作者:行者123 更新时间:2023-11-30 20:38:17 25 4
gpt4 key购买 nike

我需要创建一个计算器,因为我必须将操作数(数字)运算符(+Sum、*Mult、-Sub、^Expo)分开 在不同的堆栈/列表

我需要将它们中的每一个保存在堆栈中(这是一个列表)。
我不能做的是,我该如何将字符“+”转换为 double 然后将其从 double 恢复为 character ?或者有更简单的方法吗?我尝试打印这个:

char c = "+";
double d = c; //Now d = -23.00
printf("Plus: %c\n", d); //Prints an unknown character "?".

我怎样才能到达我需要的地方?

最佳答案

如果 d 的类型为 double ,则正确输出为 printf("Plus: %lf\n", d);printf("Plus: %lg\n", d);printf("Plus: %le\n", d);,但不是 printf ("Plus: %c\n", d);,因为%c表示“输出char数据”。

在 C 语言中,"+" 不是字符,它是表示字符串的 char * 类型的文字(形式上它是一个指针)。

当您对不同的数据类型使用=(赋值运算符)时,会发生一些数据转换(例如数据类型提升),但这些转换并不总是有用。因此,在您的示例中,据我了解,您希望将操作存储为字符 '+''-''*'、等等,数据为 double 值。在这种情况下,您根本不需要将 char 转换为 double。您唯一需要的是设计数据结构,用于将数据和操作存储在一起,但以不同的数据类型。

例如,正如您所写,“不同的堆栈/列表”可用于数据和运算符......不同!!!

关于转换 double < -> char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29659493/

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