void main()
{
printf("Adi%d"+2,3);
}
输出= i3
此 printf 语句有效,但该语句是如何工作的?
最佳答案
printf("Adi%d"+2,3);
"Adi%d"
- 被解释为存储字符串文字 "Adi%d"
的内存地址的开始。当你给它加上 2 时,它就变成了存储字符串 "i%d"
的内存地址。所以基本上你传递给 printf 字符串:"i%d"
。然后 %d
和 printf
开始发挥作用,将 %d
替换为 3,因此输出 i3
。
关于c - printf 语句在下面的代码中是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39384001/