求助~输出了诡异的数字
c语言吧
全部回复
仅看楼主
level 4
感谢回复的大牛~
2011年11月08日 14点11分 1
level 6
因为是double,改成int看看啊!
2011年11月08日 14点11分 2
level 4
[汗]全改成整形以后a输出的是2……为什么啊?其实我就是想知道printf函数的值是什么
2011年11月08日 14点11分 3
level 7
printf()返回的是输出的字符数。
2011年11月08日 14点11分 4
level 4
= =好吧,刚明白原来换行也是一个字符……
谢谢各大牛
2011年11月08日 14点11分 5
level 5
正解[顶]
2011年11月08日 17点11分 7
level 4
#include <stdio.h>
int main()
{
double a,b;
a = 2.0;
b = 3.0;
a = a > b ?printf("%f\n",a) :printf("%f\n",b); //a < b,执行printf("%f\n",b)
//printf函数返回打印了多少字符,此时打印了9个字符,整形9被隐式转化为浮点数9.0赋值给a
printf("%f\n",a);//打印浮点数9.0
a = 4;
b = 1;
a = a > b ?printf("%f\n",a) :printf("%f\n",b); //a > b,执行printf("%f\n",a)
//同理,此时a被赋值9.0
printf("%f",a);//打印a,值为9.0
return 0;
}

2011年11月08日 18点11分 8
1