![]() |
1
3
当您输出一个nul时会发生什么取决于输出设备。
它是非打印字符,即
当输出到C字符串时,它将被标准字符串处理函数解释为字符串终止符,尽管任何其他随后的格式说明符仍将导致数据放在nul之后的缓冲区中,而nul对于标准字符串处理函数是不可见的。如果数组最终不被解释为C字符串,这仍然有用。
这完全不清楚您所说的是什么意思,但是如果您建议使用返回的指针
我正在努力想一种情况,在这种情况下,您可能会“意外”地编写这样的代码,那么为什么您需要防范它呢?你有什么特别的情况吗?尽管我觉得这是不可信的,而且可能是不必要的,但最困难的是:
或者更有用(因为您可能希望在输出中避免使用其他字符)
只输出可见字符和空白(空格,
注意,你也可以考虑
|
![]() |
2
8
任何采用标准C字符串的函数都将在第一个空值处停止,不管它是如何到达那里的。
当您使用格式中的%c并使用0作为字符值时,它将在输出中插入一个空值。
一个std::string在其内容中的任何地方都可以包含一个空值,但是当您使用c_str方法将其传递给函数时,请参见上面的答案。 |
![]() |
3
3
这包括它们的计数;因此:
必须始终返回3(尽管
|
![]() |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |
![]() |
OverHeaven · 在2D数组中打印每行两次-C 2 年前 |
![]() |
user16218933 · php上没有显示图像 2 年前 |
![]() |
Sinayra · 循环中的strcat()与sprintf() 6 年前 |
![]() |
obvionaoe · printf()在错误的位置打印换行符 6 年前 |
![]() |
ByteMe95 · 错误的printf类型仍在打印正确的值 6 年前 |
![]() |
141_MATRIX_141 · 指针C的值 6 年前 |