#include <stdio.h>

main(){

while(a < 5){
printf("%d\n",a);
a == a + 1;
}

これだと、何故無限ループになってしまうのでしょうか?
本の解説に依れば、a == a + 1 は aを増やすところを
誤って書いた。これでは a の値は変わらないので
無限ループになると書いてあります。

これは == の等しいだからいけなく = ならいいのでしょうか(ループにならない)?
もしそうだとしたら、どうしてか解説をお願い致します。