奇怪,不解!
我是个C语言新手,一些基本语言还没学完,在学习中遇到了一些不解的问题,还望大小虾们帮忙解决解决.
例1:
main()
{ int a=1,b=2,c=3;
printf("%d,%d,%d",a=b=c,a=b==c,a==b=c);
}
此题结果为:3,1,0 问题是中间那个a=b==c中b==c为假,结果应该是0,怎么成了1?
例2: 一道求质数的题目.
#include<stdio.h>
main()
{ int i,k,l;
for(i=2;i<=50;i++)
{
for(k=2;k<=i;k++)
if(i%k==0) {l=1;break;}
if(l!=1) printf("%d,",i);
}
}
此题问题出在必顺在下划线之处再加一条语句"l=0".其中0可以随便用一个除1的都行,不然结果就只会显示出一个数.这是为什么?"l=0"究竟起了什么作用?谁知道能告诉我吗?谢谢!