-1

任何人都可以解释 printf 语法的变化......我对其中的一些感到困惑,比如

 printf(5+"hello my friend");//i have problem this addition of 5 
 printf("hello""my""friend");//i have problem with double apostrophe

这些遵循什么样的 printf 原型?这与动态链接有关吗?任何人都可以展示一些其他奇怪的 printfs 并解释它们。

4

1 回答 1

1

通过指向 a 的指针访问 C 中的字符串char(有关更精确的定义,请参见 H2CO3 的注释)。如果添加5指向 a 的指针char,则字符串会在 5 个字符后开始。于是5+"hello my friend"点到" my friend",跳过"hello"

当 C 编译器看到两个字符串之间没有任何内容(除了可能的空格)时,它会将它们视为单个字符串。这使得将长字符串分成多行变得更容易。所以编译成与or"hello""my""friend"完全相同的东西"hellomyfriend"

"hello"
"my"
"friend"

这些都与 没有任何关系printf,而与字符串有很大关系。

于 2013-09-08T17:37:58.700 回答