当前位置: 首页 > 知识库问答 >
问题:

如何在cout中连接预处理器常量和文字字符串

晋奕
2023-03-14

我开始学习c语言,当我尝试cout一个宏时,它会在控制台中打印值,但当我尝试用另一个字符串文字cout该宏时,它会引发一个错误。

#include <iostream>
using namespace std;

#define PI 3.14;
int main()
{
    cout<<"Value of PI: " << PI;
    cout<<"Value of PI: " << PI << endl;
}

函数中的第一行工作正常,但第二行在编译时出错。

错误:

错误:在'

我做错了什么?

共有1个答案

谷彦君
2023-03-14

问题是宏的末尾有一个分号。

这条线

cout<<"Value of PI: " << PI << endl;

然后变成:

cout<<"Value of PI: " << 3.14; << endl;
//                           ^

因此,只需删除 在宏的末尾:

#define PI 3.14

您也可以使用适当的常数而不是宏(通常是首选):

inline constexpr double PI = 3.14;

或使用C 20中添加的数学常量库部分:

#include <numbers>

int main() {
    std::cout<<"Value of PI: " << std::numbers::pi << '\n';
}

 类似资料:
  • 假设我有以下片段: 我希望这段代码能够显示: 这使我认为运算符不适合连接字符串和变量。 您应该如何使用PowerShell来实现这一点?

  • 问题内容: 我试图在Python中连接字符串和数字。当我尝试这样做时,它给了我一个错误: 错误是: 为什么我不能做到这一点? 如何 可以 我将字符串和Python中的号码是多少? 问题答案: Python是强类型的。没有隐式类型转换。 您必须执行以下操作之一:

  • 问题内容: 如何在Swift中连接字符串? 在我们喜欢 要么 但是我想用Swift语言做到这一点。 问题答案: 您可以通过多种方式连接字符串: 您也可以这样做: 我相信还有更多方法。 描述位 创建一个常数。(有点像)。设置后就无法更改其值。您仍然可以将其添加到其他东西并创建新变量。 创建一个变量。(有点像),因此您可以更改其值。 注意 在现实中,并有 很大的不同 ,从和,但它可以帮助类比。

  • 本文向大家介绍如何在Python中用数字连接字符串?,包括了如何在Python中用数字连接字符串?的使用技巧和注意事项,需要的朋友参考一下 要用数字连接字符串,您需要使用str(number)将数字转换为字符串。例如, 在Python 2中,您还可以使用backtick(``)包围数字并使用数字和字符串获得相同的结果。请注意,反引号已从Python 3中删除。例如,

  • 问题内容: PHP中有多字节字符串函数来处理多字节字符串(例如:CJK脚本)。例如,我想通过使用python中的函数来计算一个多字节字符串中有多少个字母,但是它返回的结果不准确(即该字符串中的字节数) PHP中有像mb_strlen这样的软件包或函数吗? 问题答案: 使用Unicode字符串: 注意字符串前面。 要将字节字符串转换为Unicode,请使用:

  • 首先,考虑这个例子: 我期望什么:因为“123”是一个< code>const char*,我期望这些字符串的地址(就像其中一个答案所说的)被比较。 …因为和将只比较这些字符串的基址。不是字符串本身的内容。 但输出仍然是。好吧,我们实际上不知道如何比较两个prvalue对象的地址(或者至少我不明白会怎么做)。所以让我们将这些字符串声明为变量,看看会发生什么: 输出仍然是 。所以字符串不会衰减吗?或