This question already has answers here:
How is printf statement interpreted?
                                
                                    (5个答案)
                                
                        
                                2年前关闭。
            
                    
#include<stdio.h>
void main()
{
printf(5+"good morning");/*need explanation for this line
return 0;
}


该程序的输出是-早上
谁能解释一下?

最佳答案

printf的原型

int printf(const char *format, ...);


这里的formatconst char*的类型,它指向字符串文字的第一个元素的地址。当您在5+"Good morning"中传递printf时,您真正传递的是字符串加5的内存地址。加号5表示打印将在字符串的开头开始5 chars,并且单词“ Good”后的空格算作字符。

关于c - 以下程序的输出解释,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46599181/

10-11 16:33