电脑执行是按顺序来的,上下两个顺序不一样,上面的先输入数字赋给f,然后再进行下面的运算。下面的是先运算,这时你下面的输入赋值语句还没有执行,f中的数值是不定的随机的,运算结果输出的可能很奇怪,运算过后,电脑才给f赋值,这时候,运算结果在上面已经出来了,并且存入C中,你只改变了f的值,输出结果只与c有关与f无关。
理由是,第一个程序中的f通过scanf("%d",&f)赋了值,是一个确定的数,算出的值c是作者想要的值。而第二个程序中的f在没有赋值的情况下,是一个不确定的值,用来计算,c=(f-32)/1.8;得到的c自然就是一个不确定的值。因为电脑在编译,执行代码时,是按从上到下的顺序进行的。
情况一:先输入f,f的值为输入的数;
情况二:先计算c,计算时f的值为未知数,c的结果也为未知的。
程序运行时是顺序进行的,因此语句位置的不同就会导致结果的不同
上面的应该是正确的程序.因为从键盘读入了f的值
而下面这个在使用f之前没有对f进行复制.也就是没有
初始化,它的值就是一个不定的数..
语句顺序不同 所以执行的结果就不一样了