以下程序运行后的输出结果是 main() {double a; int b; b=a=10/4; printf(“%d,%f\n”,b,a);}

以下程序运行后的输出结果是
main()
{double a;
int b;
b=a=10/4;
printf(“%d,%f\n”,b,a);}
为什么输出结果是2,2.000000,而不是2,2.500000

10/4得到的是整数2,将2赋给a,在输出a是显示2.000000
如果要得到2.500000,需要10.0/4或10/4.0
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-10-27
这是因为10和4都是整数,两个整数的商仍是一个整数,所以10/4是等于2而不是2.5
第2个回答  2011-12-23
b=a=10/4;这儿的执行是从右往左的,因为a是整型 ,所以10/4结果是2,而不是2.5,所以b=a时,也是2
第3个回答  2011-12-23
因为问题出在a=10/4等号的右边,等号右边先进行运算,10和4都是int型的数据,所以结果也是默认为int型数据2,然后进行类型转化将2转成double型赋值给a,想输出2.50000的话,将10/4改成10.0/4就可以了。
第4个回答  2011-12-23
因为10和4都是整.所以结果也是整.你把10或是4其中一个加一个.0结果就会有小数了.

...#include <math.h> main( ) { int a,b; float c?
11,12.000000,13

下面程序的输出结果是 main ( ) { double a; float b; int c; c=b=...
void main ( ){ double a; float b; int c;c=b=a=40\/3;printf( "%d %f %f\\n " ,c,b,a);} 输出结果是:13 13.000000 13.000000 你是想测试浮点数,你想象中应该,结果是:13 13.333333 13.333333 对吗?为什么不是这结果呢?因为:c=b=a=40\/3;40,3都是整数,所以它...

...结果为( main( ) { int i=010,j=10; printf("%d,%d\\n",i++,j...
如果我设x=++i;那么就相当于i=i+1;x=i;设i原值为8那么运行后i=9,z=9

程序运行后的输出结果是___。
} 程序运行后的输出结果是___。A、b,b B、b,c C、a,b D、a,c 答案:A 评析:【参考答案】本题答案为 A 选项。【试题解析】语句“printf("%c,",++a);”中,“++a”是在变量a 使用之前,就将其值自增,即此时变量a 存储的是字符'b',因此本题先输出的是“b,”;语句“printf("...

以下程序的输出结果是___。 #include 〈stdio.h〉 main...
A.8,17

...int main() { float a=10.0f; printf("%d\\n",a); } 这个程序的输出...
include<stdio.h> int main(){ float a=10.0f;printf("%d\\n",a);\/\/你的输出格式是%dprintf("%f\\n",a);printf("%d\\n",(int)a);\/\/想输出10的话要强制转换}

...int main() { float a, b; printf("请输入a,b"); scanf("%f%f", &...
把if (a>b);改为if (a>b)——删除最后的分号。在最后一个}前加一句return 0;。

...4]={{1,3,5},{2,4,6},{3,5,7}}; printf("%d%d%d
34 A 35D 36B 37D 38C

以下程序的输出结果是( )。 main() { int x=2,y=-1,z=2;
选B if(x<y)的判断已经不会执行,后面的else是接上面那个不会执行的if,所以z的值不变,输出2

请问以下程序运行后的输出结果是 #include<stdio.h> main() {int x=...
x=011 八进制 转成10进制 1*8+1=9 开始 x=9 ++x=10 所以结果就是10

相似回答