新乡市新区小学吧 关注:88贴子:2,123
  • 6回复贴,共1

半夜打着手电筒学编程= =

只看楼主收藏回复

我真是太屌了= =编程可是大学电脑系才学的啊= =
噗噗噗,觉得好简单。
忘记定义变量,例如
int main()
{
x=3
y=6
printf("%d\n",x+y);
}
如上,C语言要求对程序中用到的每一个变量都必须定义其类型,上面程序中没有对x,y进行定义,应在函数体的开头加
int x,y;

好,那么a被定以为整形,b被定以为实型:
int a=6;
float b=4.5;
printf("%f,%d\n,a,b")
输入为
0.000000,1074921472。
这明显是不对的,为什么I


IP属地:河南来自手机贴吧1楼2013-10-12 00:39回复
    没人解的话我睡醒发答案


    IP属地:河南来自手机贴吧2楼2013-10-12 00:43
    收起回复
      原因是数据类型与指定的输出格式不匹配。在这种情况下,并不是按照赋值的规则进行转换(如把b的值4.5换成4,然后输出4),而是将数据在储存单元中的形式按格式符的要求组织输出。如a是整数,按整数的储存方式储存,今要它按浮点数输出,系统把次数在内存中存放的形式按浮点数解释,组织输出。b是按浮点数,按浮点数的储存方式储存,现在系统把这个数在内存中存放的形式按整数解释,把它直接作为某一整数输出I


      IP属地:河南来自手机贴吧3楼2013-10-12 13:16
      回复
        ding


        4楼2013-12-02 20:00
        回复
          mc?


          IP属地:加拿大来自Android客户端5楼2014-04-20 17:50
          回复