日本家常菜做法:】【求助】奇怪啊,在turbo c和vc++6.0中运行结果为何相反?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 08:04:17
#include<stdio.h>
#include<math.h>
main()
{
double a,b,t;
scanf("%d",&a);
scanf("%d",&b);
t=a>b?a:b;
printf("the bigger one is: %d\n",t);
}

以上是源代码,其实就是简单的两数比较大小然后输出大数,但在vc++6.0中运行输出却是小的,怎么回事啊??不解
在turbo c中运行正确

printf("the bigger one is: %d\n",t);这句有问题了,t是double型的,而你用%d输出了。用%lf就行了。

t=a>b?a:b;问题就是这里

"?"运算符是一个三目运算符, 其一般形式是:
<表达式1>?<表达式2>:<表达式3>;
"?"运算符的含义是: 先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式的值; 如果表达式1 的值为假, 则求表达式3 的值并把它作为整个表达式的值。

t=(a>b?a:b)再看看