#include <stdio.h> int main(int argc, char *argv[]) { int a=16,b=10; printf("%f",a/b); return 0; }

输出为“0.000000”
怎么回事啊?

第1个回答  2012-11-20
1、%f 按浮点数输出
2、a/b是整除,为0,

所以答案就是浮点的0追问

16/10=0??

追答

不好意思,整除说法是错了。
是这样:
f指float,占用字节数4,有效数字6~7,数值范围-3.4*10^38 ~3.4*10^38这个意思是用float的格式表示数字
整除的结果就是1,
那为什么是,0.000呢,这个从上面可以看出float的玄机。
实际上float在内存中按三部分存储,这个1,是看作int的情况.
但这时,你强制看作float,关于float的内存布局,一下说不完,你看一下这个,你就会更深一步掌握:
http://blog.csdn.net/yezhubenyue/article/details/7436624

第2个回答  2012-11-20
去掉return和main中的参数
第3个回答  2012-11-20
建议不要这样写,运算表达式,不要放在printf中,写在外面,用另一变量获取。。本回答被提问者采纳

int main(int argc,char *argv[])是什么意思?
首先,说一下main(int argc,char *argv[])函数的两个形参,第一个int argc,是记录你输入在命令行(你题目中说的操作就是命令行输入)上的字符串个数;第二个*argv[]是个指针数组,存放输入在命令行上的命令(字符串)。当命令行输入PROG ABCDEFGH IJKL时,记录了3个字符串(以间隔为界,不含间隔,这是约定),*ar...

...<conio.h> int main(int argc,char* argv[]) { int i;
当然不是了,你要求输入的是中文阿,存储的就是非ASCII了:input the chinese:中国 53462 64185 str = 中国

...<stdio.h> int main(int argc, char *argv[]) { int a; printf...
switch语句后面的括号中不能是表达式 include <stdio.h> int main(int argc, char *argv[]){ int a,b;printf("分数=");scanf("%d",&a);if (0<a&&a<=100){ b=a\/10;switch(b){ case 10: printf("等级=A\\n"); break;case 9: printf("等级=A\\n"); break;case 8: printf...

编程,从键盘输入一个字符串,将其逆序输出。如:输入china。输出anihc...
return 0;} 第二种方法则完全不依赖于库函数,而是通过手动编写代码来实现字符串逆序。其代码如下:include <stdio.h> int main(int argc, char* argv[]){ char s[100], i;printf("Please enter a string...\\ns=");scanf("%s", s);for (i = 0; s[i]; i++);for (i--; i >...

...int main(int argc, char *argv[]) { int i,n;
include <stdio.h> include <stdlib.h> include<math.h> int main(){ long long int n,d;while(scanf("%lld",%n)!=EOF){ d=1;do { d=2*d;}while(d<=n);d=d\/2;n=n-d;printf("%11d\\n",2*n+1);} return 0;}

C语言:用选择法对10个整数排序
代码文本:include "stdio.h"int main(int argc,char *argv[]){ int a[10]={7,9,1,5,3,4,2,8,0,6},b[10]={2,8,0,6,5,3,4,7,9,1},i,j,k;for(i=0;i<10;i++){\/\/选择法对a由小到大排序 for(k=i,j=k+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i)j=a...

...<stdio.h> int main(int argc, char *argv[]) { printf(" * \\n...
这是缓冲区的问题,你提前输入了w,它就存在了缓冲区了,然后你没有输入,但是缓冲区里有字符w,所以getchar就获取到了w,就像:#includeintmain(){chara,b;a=getchar();b=getchar();putchar(a);putchar(b);}运行的话,假设你想输入:a(回车)b(回车)但实际你输入完第一行就直接输出了:a(...

...<math.h> int main(int argc, char *argv[]) { float a,d,e,c...
<include file="<%=var%>.asp">这种用法是不行的。凡是include语句,都不可以使用asp变量,参见《ASP宝典》。但你一定要用include,也是有方法的:思路:把<include file="<%=var%>.asp">整个作为一个字符串变量,然后自己写需要显示的asp程序。比如需要动态显示、含有include的文件是MyProduct.asp ...

C语言怎么用选择法对10个整数排序?
include "stdio.h"int main(int argc,char *argv[]){ int a[10]={7,9,1,5,3,4,2,8,0,6},b[10]={2,8,0,6,5,3,4,7,9,1},i,j,k;for(i=0;i<10;i++){\/\/选择法对a由小到大排序 for(k=i,j=k+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i)j=a[k],a[k...

求解。C语言问题,这道题怎么做呢?为什么输出一直是第一个printf的...
应该还是你代码写错了 include <stdio.h>int main(int argc, char *argv[]){int a,b,c,x,y;printf("输入一个3位数:");scanf("%d",&x);a=x%10;b=x\/10%10;c=x\/100;y=c*100+b*10+a;printf("y=%d\\n",y);return 0;}我输入256的结果如图:...

相似回答