#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
返回一个正值,其计算结果为true
,else
分支永远不会执行,因此打印仅 ABC
- 在第二个代码中,
puts
最有可能成功并返回 0,其计算结果为false
,执行else
分支,从而打印两者ABC
和XYZ
正如其他人所指出的,puts
也会添加一个换行符,而 printf
不会。
关于c++ - 将 vs printf 放在以下代码中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4525613/