相关疑难解决方法(0)

printf函数的问题?

我写了以下程序

 #include <stdio.h>

 main()
 {
 int i = 2;
 float c = 4.5;
 printf("%d\n",c);
 printf("%f\n",i);
 return 0;
 }
Run Code Online (Sandbox Code Playgroud)

虽然我知道这是错误的做法,当我运行程序时,我得到了答案

0
4.500000
Run Code Online (Sandbox Code Playgroud)

但是当我用这种方式交换printf语句时

#include <stdio.h>

main()
{
int i = 2;
float c = 4.5;
printf("%f\n",i);
printf("%d\n",c);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是

0.000000
0
Run Code Online (Sandbox Code Playgroud)

我无法理解发生了什么,任何人都会解释我.

c printf casting

2
推荐指数
2
解决办法
1897
查看次数

printf函数如何处理%f规范?

我有几个程序,其输出我无法理解:

计划1

#include <stdio.h>
int main(void)
{
  int i=1;
  float k=2;
  printf("k is %f \n",k);
  printf("i is %f \n",i);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出位于http://codepad.org/ZoYsP6dc

k is 2.000000 
i is 2.000000
Run Code Online (Sandbox Code Playgroud)

计划2

再举一个例子

#include <stdio.h>

int main(void)
{
  char i='a';
  int a=5;
  printf("i is %d \n",i);  // here %d type cast char value in int
  printf("a is %f \n",a);  // hete %f dont typecast float value
  printf("a is %f \n",(float)a);  // if we write (float) with %f then it works
  return …
Run Code Online (Sandbox Code Playgroud)

c floating-point string-formatting

0
推荐指数
2
解决办法
885
查看次数

标签 统计

c ×2

casting ×1

floating-point ×1

printf ×1

string-formatting ×1