但是我那样的确可以运行啊,运行结果是0.000000,我不明白运行结果为什么是这个,谢谢!
追答程序可以跑,不等于结果就是正确的。
c 是 整型,c= 把表达式结果转整型赋给c,你在用浮点格式 %f 格式输出。整型 与 %f 不匹配, 你用 %f 就有运行错误。得到0.000000 是运行错误产生的结果。
编译器(编译器设计者)有自己的思维方法,所以你想猜 怎么个错法,得出 0.00000,这很困难,花时间研究这个,也太不值得。
printf("%f",a/b+0.4); 可以,得 1.4
printf("%f", (float) a/b+0.4); 可以,得 2.0
printf("%f",c=a/b+0.4); 得0.00000,因为格式与类型 不匹配。
哦,原来是这样啊,谢谢了O(∩_∩)O
不好意思,我想问的是这个程序的运行结果为什么是0.000000?
追答你是不是多加了个等于啊c==…
追问没有啊,原题就是这样的。
追答这个就不清楚了
追问哦,那谢谢了O(∩_∩)O
有定义:int a=8,b=5,c;,执行语句 c=a\/b+0.4;后,c 的值为 ()。 A...
ab都是int型,所以a\/b还是int型,a\/b值为1 1+0.4赋值给int型的c,只保留整数部分,所以选择B
...若有定义:int a=8,b=5,c;执行语句c=a\/b+0.4;后,c的值为多少?_百度...
c=1,因为a\/b默认是取整计算!即5\/8=1,c=1+0.4=1。计算过程中小数点之后的全部舍去。不是按四舍五入计算!int类型在内存中占用了4个字节,也就是32位。int类型是有符号的,因此,32位并不会全部用来存储数据,使用最高位来存储符号,最高位是0,提示数据是正数,最高位是1,表示数据是负...
...#include 〈stdio.h〉 main() {int k=
A.8,17
#include<stdio.h> main() { int a=5,b=8,c=3,max; max=a; if(c>b...
main(){ int a=5,b=8,c=3,max;max=a;if(c>b)\/\/该if没有else与它配对 { if(c>a){ max=c;} else\/\/这个else与上面的if配对 { if(b>a)\/\/这个if没有else与它配对 { max=b;} } } printf("max=%d\\n",max);} 程序执行时,max=a,即max=5;执行第一个分支语句if(c>b)时,...
#include<stdio.h> void main( ) { int a,b,
1、是不执行。2、使用if()语句1;语句2; 只有紧跟其后的一条语句属于这个if(),也就是说语句1;是这个if()的,语句2;就不是了。要想使语句2;也属于这个if()需要使用大括号,如下:if(){ 语句1;语句2;} 3、a=10,b=c;使用逗号运行符,算一句。
#include<stdio.h> void main( ) { int a,b,
include<stdio.h> void main( ){ int a,b,c;a=10;b=50;c=30;if(a>b) \/\/这里a小于b,不满足要求,因此if作用域内的代码不会执行的 c=a=10,b=c;c=a;printf("a=%d,b=%d,c=%d",a,b,c);}
#include<stdio.h> int main() { int a,b,c; scanf("%d,%d",&a,&b...
我试了一下, 是没有问题的。可能的结果就是你输入时的逗号和scanf里面的逗号不一致,
#include"stdio.h" main() { int a=-1,b=6,c; c=(++a<0)&&(--b>=0...
c=(++a<0)&&(--b>=0);以上在C语言里叫逻辑短路了,当++a<0的结果为0时,后面的表达式将不在执行,因此b还是原来的值6了
...# include<stdio.h> main() { int a=0; double b=0.0; a=b=123\/1...
答案是:1,1.000000 如图:
#include <stdio.h> void main() { int a,b,c; scanf("%d,%d",&a,&...
include <stdio.h> int main(){ int a, b, c;scanf("%d%d", &a, &b);c = a - b;if(c > 0){ a = b;b += c; \/\/错在这里,if(c>0) { ... } } printf("%d %d", a, b);return 0;}