#include "stdio.h";
void main(){
int max=999,min=888;
if (max>min) min=max;
printf("\n\n%d",min);
};
在过程中,我把“min”的变量给予了“max”但是结果却是999
为什么呀?
同理,
我再举一个例子:
#include "conio.h";
#include "stdio.h";
void main(){
long int a,b,c,max;
clrscr();
scanf("%ld%ld%ld",&a.&b,&c);
max=b;
if (c>max)
max=c;
if (a>max) max=a;
printf ("%ld",max);
};
这些“max”在之前并没有对它定义,
它只是一个整数. 把“max”变成“b”
那“b”就变成了一个未知整数 得不到的
但恰好是这样,得出来的最大数却是正确的。
而我把“max=b;”改为“b=max;”
答案就变成了错误的
为什么......
[此贴子已经被作者于2006-4-22 20:56:54编辑过]
----------------解决方案--------------------------------------------------------
我随便打一个比方:
#include "stdio.h";
void main(){
int max=999,min=888;
if (max>min) min=max;
printf("\n\n%d",min);
};
在过程中,我把“min”的变量给予了“max”但是结果却是999 //说反了`
为什么呀?
同理,
我再举一个例子:
#include "conio.h";
#include "stdio.h";
void main(){
long int a,b,c,max;
clrscr();
scanf("%ld%ld%ld",&a.&b,&c);
max=b;
if (c>max)
max=c;
if (a>max) max=a;
printf ("%ld",max);
};
这些“max”在之前并没有对它定义,
它只是一个整数. 把“max”变成“b”
那“b”就变成了一个未知整数 得不到的
但恰好是这样,得出来的最大数却是正确的。
而我把“max=b;”改为“b=max;”
答案就变成了错误的
为什么......
----------------解决方案--------------------------------------------------------
倒~
我还是不解。。。。
我明明是将“min“等于“max”
而不是“max”等于“min”.....
----------------解决方案--------------------------------------------------------
'='不是等于,是赋值符号,看书.
----------------解决方案--------------------------------------------------------
对于第二个例子我个人认为:在你没有对max进行定义,计算机系统在读到max时,它不认识max的作用(即不明白max什么),因为无法识别吗系统只有把它识为未知数
----------------解决方案--------------------------------------------------------