c++代码问题

为什么不论输入哪个数suc都+1?...
2026年09月25日 06:00
有2个网友回答
网友(1):

你这个错误是一个简单又特别容易犯的错误。

在C语言中,我们需要搞清楚=和==的差别:

1、=,一个等号,在C语言中,只是代表的赋值操作。

2、==,两个等号,在C语言中,才是代表的判断相等的。

而你的程序的if中,写的是一个=号,所以程序会先执行a=x+y,然后才将a的值作为if的判断条件,这个时候,你的a为0,这if不进入,a不为0,则进入。所以你的if语句才会一直执行。当然,也并不是永远都会进入的,如果你的x+y正好等于0,那么if条件就不会成立了,但是在你的程序中x和y都是正数,所以永远都会执行。

那么对于这种容易犯的错误该怎么避免了?

1、要牢记=和==的区别。

2、我们一般会将常量、表达式等不能被修改的值写到==的左边,这样即使你忘记写了一个=,那么在编译的时候编译器就能清晰的给你显示错误信息,因为常量、表达式不能被赋值,这样就能很好的避免错误,还能借住编译器给出错误信息。


比如:

if(a == 0)  -->   if(0 == a)

网友(2):

将if(a=(x+z))改成if(a==(x+z))