【发布时间】:2017-12-21 14:05:27
【问题描述】:
#include <stdio.h>
void main() {
printf(2 + "abcdefgh");
}
这段代码如何打印cdefgh?如果我使用 2- 或 2* 或任何其他运算符,编译器会抛出错误。
【问题讨论】:
-
如果您知道
2 + any_pointer等于any_pointer + 2可能更有意义,这等于&any_pointer[2]。 -
"The format string is a character string, beginning and ending in its initial shift state" -
你对
2 * "abcdefgh"有什么期待?
标签: c arrays printf pointer-arithmetic