gpt4 book ai didi

c++ - C printf() 两个字符串在一行上?

转载 作者:太空宇宙 更新时间:2023-11-04 01:29:23 24 4
gpt4 key购买 nike

你好,我想知道我是否可以像在 C++ 中那样一行输出两个字符串

cout << "hi" << " person";

最佳答案

cout一样, printf会将提供给它的任何内容放入输出中。 coutprintf不添加换行符。

printf("hi");
printf(" person");

输出:

hi person

如果您希望使用 C 中的单个语句来完成它:

printf( "%s%s", "hi", " person");

对于这两个示例,您都必须 #include <stdio.h> . (某些编译器不需要)。


关于 cout 的一些额外说明: 为什么我们可以上链cout在 C++ 中?

请注意cout << "hi" << " person";只是简写:

cout << "hi";
cout << " person";

这样展开,和我第一个用两个printf的例子没什么区别电话。

std::coutstd::ostream 的实例.并且(简单地说,) std::ostream overloads the << operator这样它就可以接受多种类型并返回 std::ostream引用回来。所以运营商<<std::ostream与此功能(大部分)相同:

std::ostream& printThingsToOutput(std::ostream& where, string s);

您提供的代码可以这样分解:

(cout << "hi") << " person";

首先,cout << "hi"被执行。它发送字符串 "hi"到输出缓冲区,然后返回 cout目的。然后声明的其余部分变为:

cout << " person";

(这也会返回一个 std::ostream 引用,它会立即被丢弃。)

是因为重载了<<运算符返回相同的 std::ostream引用我们可以按照您所做的方式将操作链接在一起。

关于c++ - C printf() 两个字符串在一行上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25597332/

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