gpt4 book ai didi

c++ - 将 vs printf 放在以下代码中?

转载 作者:太空宇宙 更新时间:2023-11-04 05:21:35 27 4
gpt4 key购买 nike

#include "stdio.h"
#include "conio.h"

int main(void)
{

if(printf("ABC"))
{

}
else
{
printf("XYZ");
}
_getch();
return 0;
}

output : ABC

----------------------------------------------------------------------------------------

#include "stdio.h"
#include "conio.h"

int main(void)
{

if(puts("ABC"))
{

}
else
{
printf("XYZ");
}
_getch();
return 0;
}

output : ABC XYZ

(开发环境:MSVC++)上面2个程序中printf和if语句中的puts有什么区别??

最佳答案

  • printf 返回写入的字符数
  • puts 如果成功则返回一个非负值

结果:

  • 在第一段代码中,printf 返回一个正值,其计算结果为 trueelse 分支永远不会执行,因此打印 仅 ABC
  • 在第二个代码中,puts 最有可能成功并返回 0,其计算结果为 false,执行 else 分支,从而打印两者ABCXYZ

正如其他人所指出的,puts 也会添加一个换行符,而 printf 不会。

关于c++ - 将 vs printf 放在以下代码中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4525613/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com