首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >cout需要用分号终止吗?

cout需要用分号终止吗?
EN

Stack Overflow用户
提问于 2011-01-13 01:26:15
回答 4查看 1.5K关注 0票数 3

我正在阅读Bjarne的编程:使用C++的原则和实践

在第2章的演练部分中,它将讨论编译hello_world程序时查看键入错误的各种方法。

代码语言:javascript
运行
复制
#include "std_lib_facilities.h"

int main()  //C++ programs start by executing the function main
{
    cout << "Hello, World!\n",  // output "Hello, World!"
    keep_window_open();         // wait for a character to be entered
    return 0;
}

本节特别要求:

会考虑您可能在程序中键入的至少五个错误(例如,忘记keep_window_open(),在键入一个单词时保留Caps键,或者键入逗号而不是分号),然后尝试每个错误,看看在编译和运行这些版本时会发生什么。

对于cout行,您可以看到有一个逗号而不是分号。

它编译并运行(对我来说)。它是否假设(如javascript问题:Why use semicolon? )该语句已被终止?

因为当我尝试keep_terminal_open();时,编译器会告诉我分号排除。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-13 01:30:17

C++中的逗号运算符可以如下所示:

代码语言:javascript
运行
复制
a, b;

它的意思是“做a,忽略结果,然后做b”。你可以这样把它拴在一起:

代码语言:javascript
运行
复制
a, b, c, (etc.), n;

一般来说,这并不是很好的风格。逗号运算符在实践中很少使用,因为它令人困惑。有几次它是合理有用的,通常会产生for循环:

代码语言:javascript
运行
复制
for (int a = 0, b = 0; a < 100; a++, b++) {
    /* ... */
}

在这里,我们在for循环的最后部分使用逗号运算符来表示“同时增加ab”。

要回答你的问题,是的,你应该在cout之后有一个分号。使用逗号操作符在技术上也是有效的,但它不优雅,可能会使人们感到困惑。

票数 11
EN

Stack Overflow用户

发布于 2011-01-13 01:33:26

任何语句都需要用分号结束:

代码语言:javascript
运行
复制
std::cout << "Hi world";

但是,除其他外,表达式可以采用A,B,C的形式,其中计算ABC,然后C成为结果。

如果使用以下表达式:

代码语言:javascript
运行
复制
std::cout << "Hi world", 3

变成一份声明:

代码语言:javascript
运行
复制
std::cout << "Hi world", 3;

然后,看起来您不需要在语句末尾使用分号。事实上,你误解了“陈述”的真正含义。

希望这能帮上忙。

票数 3
EN

Stack Overflow用户

发布于 2011-01-13 01:27:52

它应该用一个结束,是的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4675908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档