c语言编程总是有一个错误,'=' : left operand must be l-value 我的程序如下:

void main ()
{
int cocks=0,hens,chicks;
while(cocks<=19);
{
hens=0;
while(hens<=33);
{
chicks=100-cocks-hens;
if(5*cocks+3*hens+chicks/3==100)
printf("%d,%d,%d\n",cocks,hens,chicks);
hens=hens+1;
}
cocks=cocks+1;
}
}

第1个回答  2012-04-01

while(cocks<=19) 和while(hens<=33)后面的分号删掉,就好了

第2个回答  2012-04-01
话说while后边不加分号,两个while那行的分号先删掉,虽然不是编译错误,但是运行的时候会死循环。然后……好像就没错了……
你能说一下它提示哪一行有错么?追问

void main ()
{
int cocks=0,hens,chicks;
while(cocks<=19)
{
hens=0;
while(hens<=33)
{
chicks=100-cocks-hens;
if(5*cocks+3*hens+chicks/3==100)
printf("%d,%d,%d\n",cocks,hens,chicks);
hens=hens+1;
}
cocks=cocks+1;
}
}

我改成了这样的,然后提示的是没有错误了,但是最后运行时却什么都没出来,额

本回答被提问者采纳
第3个回答  2012-04-01
while后边的判断一般是不加分号的。去掉这两个分号就可以啦。
还有,if(5*cocks+3*hens+chicks/3==100)这样的语句,一般表达式用括号括起来会更容易理解,也会避免一些错误。
第4个回答  2012-04-01
void main ()
{
int cocks=0,hens,chicks;
while(cocks<=19);
{
hens=0;
while(hens<=33);
{
chicks=100-cocks-hens;
if(5*cocks+3*hens+chicks/3==100)
printf("%d,%d,%d\n",cocks,hens,chicks);
hens=hens+1;
}
cocks=cocks+1;
}
}
第一个while的括号后面不要分号吧...

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网