C语言 不解之题

来源:百度知道 编辑:UC知道 时间:2024/06/23 03:19:13
#include<stdio.h>
void main()
{float x=1;int y;
x++;y=x+1;
printf("x=%d,y=%f",x,y);}为什么结果是:x=0,y=0.000000,帮忙讲解一下!
我运行了一下就是这样,我想应该是2,3.000000嘛!
帮忙详细讲一下,为什么结果是0,其中的缘由!谢谢!

把float x=1;int y;

改成:

int x=1;float y;

其实出现这个问题主要是类型的问题!浮点型赋值给整型(倒2句)!

#include<stdio.h>
void main()
{
float x=1.0;
int y;
x++;
y=x+1.0;
printf("x=%f,y=%d",x,y);
getch();
}
因为x是浮点型,y是整型,所以输出时应该注意输出类型,不然就会出现错误!
其实计算机的许多东东都是不一样的,这要看设计他的厂家,编程软件也是一样,有编程软件在计算的时候是从左到右的,有的是从又到左的,还有有的软件在开始直接写main()不用#include<stdio.h>和void 都可以编写一些简单的输入输出问题的程序,而有些就不行,所以有些问题不必细究,多注意就行了!

浮点型是不能自加的,而且你输出用了 %d,所以出问题了
#include<stdio.h>
void main()
{int x=1;float y;
x++;y=x+1;
printf("x=%d,y=%f",x,y);
}