以下程序的输出是什么?
#include<stdio.h>
void main()
{
printf("hello",printf("world"));
}
答案 0 :(得分:2)
printf
函数打印world
首先作为C
运行,直到所有参数都被评估后才能执行第一个printf
(因为它评估之前提供的额外参数)主要的一个)意味着它在打印'world'
之前等待'hello'
打印。
答案 1 :(得分:2)
来自printf
的文档:
如果参数少于格式所需的参数,则行为为 未定义。如果格式需要的参数多于,则 无关的参数是评估并被忽略。
该计划的输出是:
worldhello
第一个printf
的论点是:
printf("world")
由于参数是一个函数,因此该函数将被调用生成单词:
word
然后,printf
首先打印hello
。这些印刷品将一起给你:
worldhello
试试这个:
#include<stdio.h>
int main(void)
{
printf(" hello! %d",printf("world"));
return 0;
}
输出:
world hello! 5
如果printf
成功,则返回写入的字符总数。失败时,返回负数。