| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
C语言自选萌新 
 
在程序将厘米转化为英尺英寸中,我一开始写的 
 
#include<stdio.h> 
 int main()  
 { 
         int cm; 
        int foot = cm/30.48; 
         int inch = (cm/30.48-foot)*12; 
         scanf("%d",&cm); 
         printf("%d %d",foot,inch); 
         return 0;  
 } 
 这时候无论输入什么都是0 
然后把foot和inch改到下几行去 
 
 
#include<stdio.h> 
 int main()  
 { 
         int cm; 
         scanf("%d",&cm); 
         int foot = cm/30.48; 
         int inch = (cm/30.48-foot)*12; 
         printf("%d %d",foot,inch); 
         return 0;  
 } 
 
这个时候就可以正常运行,可是变量不都是一样的吗,我记得有些编程软件甚至必须变量放前面(是这样吗?),为什么会出现这种情况呢 
 
int cm; 
int foot = cm/30.48; 
int inch = (cm/30.48-foot)*12;
 
很简单呀,第一行定义了cm,第二行直接用 cm / 30.48 
问题是 cm 的内容是什么? 
int cm = 10; 
这样 cm 的内容是10 
int cm; 
这样 cm 的内容是未知的,因为你没有给 cm 一个值,一个未知数除以 30.48 等于什么? 
实际上在计算机中没有未知数,在计算机中是随机数 
你这样写 int cm; 
系统会给cm一个随机的值 
也就是 一个随机数 / 30.48  
 
 
 |   
 
 
 
 |