有两个原因

一种是奖励机制 ,和今天训练有素 军纪严明的军队不同 。古代的军队是允许士兵,攻下一个地方之后就去烧杀抢掠 的。甚至于经济人民 爱民如子的军队, 那种时候反而是稀缺物种 (比如岳家军)。

第二是许多军队攻下一个城池之后 ,并不会长期的占领和经营 。很快要去攻打下一个城市 ,所以会通过这种手段 不给后来的人留下物资 人员,自己也能得到补偿

攻城时为什么要杀个鸡犬不宁

在古代经常发生屠城。把城市里面的全部杀死。根本原因有几点。

第一城市久攻不下。时间长了这些将领和士兵难免的变暴虐。

屠城杀死百姓的话让将领和百姓发泄心中的暴虐。

第二个原因为了搜刮财物。把百姓杀死的话。变可以合理合法的占据城中百姓的财富。

第三个原因是为了震慑。屠城把城中百姓杀死的话。以后攻城掠地的话可以震慑那些守城一方。 让守城一方知道抵抗自己的下场。可以瓦解守城一方的士气

攻城时为什么要杀个鸡犬不宁

是为了杀一敬百,给其他他要攻的城的人看。意思是如果你反抗的话下场和他们一样。

并且可能是为了将士鼓气。因为将士可能有战友死在战斗中,让他们报仇,免得军心不稳定。