Dan*_*Dan 3 c implicit-conversion
这里发生了什么:
printf("result = %d\n", 1);
printf("result = %f\n", 1);
Run Code Online (Sandbox Code Playgroud)
输出:
result = 1
result = 0.000000
Run Code Online (Sandbox Code Playgroud)
如果我在尝试打印它们之前确保这些变量的类型,它当然可以正常工作.为什么第二个print语句没有被隐式转换为1.00000?
在第二种情况下,您的格式字符串和参数类型不匹配 - 因此结果是未定义的行为(u)r.