谢邀。魏国花40多年才灭掉蜀汉,主要一是本国需要休养生息恢复元气,二是早期蜀汉名将良相尚存,三是魏国自身还发生了动荡。此外,蜀国本身的地理因素易守难攻也是原因之一。
历史上,蜀汉势力的正式确立实际上是以219年刘备打败曹操夺取汉中为分水岭。从219年刘备称汉中王,220年曹丕篡汉,221年刘备篡汉,到264年邓艾钟会攻灭蜀汉,蜀汉总共延续了40多年。那么,为何魏国前后花了40多年才攻灭蜀汉呢?
首先一个原因是因为北方经历战乱,魏国的实力优势并没有那么大。魏国需要通过休养生息来恢复元气。
以东汉的十四州(冀州、幽州、青州、并州、兖州、豫州、徐州、司州、雍州、凉州、扬州、荆州、交州、益州)为单位,在220年三分鼎立时,大致是蜀汉占一个州(益州),东吴占两个半州(交州,大半个扬州,大半个荆州),而魏国占十个半州,即魏国领土实力是蜀国的10倍,是吴蜀联合的三倍。但是这只是从领土,或者说未来潜力而言。
(有人拿着地图看,说三国面积差不多大。但国家潜力不能光看面积,要看耕地和发达程度。以汉魏时候的格局,北方中原河北是比南方蜀地东吴要发达得多的,州的数量基本能反应战乱前实力。)
实际上由于北方战乱频繁,魏国的十个州遭到破坏的程度比吴蜀两国的三个半州要严重得多。根据西晋初年的统计,在三国末年三国在籍人口大致是魏国400多万,蜀汉近100万,东吴200万余万。也就是说,魏国仅仅是蜀汉的四五倍,是吴蜀联合的1.5倍左右。当然,这个统计本身只是“在籍人口”,考虑到魏国可能有大量的隐匿人口与部曲,未必准确反映当时三国实力,但可以确认的是魏国的优势并没有“州数”那么大。尤其这还是指三国末年的数据,是在魏国已经经过两代人恢复的情况下。可以预想,在三国初年,北方战乱造成的影响更严重,魏国的优势可能更小,
对魏国而言,既然现在本国实力的优势还不算太大,但本国领土发展潜力大。那最佳策略当然就是暂时不要南下进攻,而是采取保守策略,守住现有土地,恢复经济。恢复上几十年,与吴蜀两国实力进一步拉开,这才以泰山压顶之势猛攻过去。那可比在实力优势不大的时候去勉强煮夹生饭要好多了。227年魏明帝曹睿打算进攻蜀汉,孙资就劝他:“……分命大将据诸要险,威足以震摄强寇,镇静疆埸,将士虎睡,百姓无事。数年之间,中国日盛,吴蜀二虏必自罢弊。”魏国一直持续的这个策略。
实际上,这个策略非常有效。三国初期,蜀汉军队约有十余万(234年诸葛亮北伐就出动了十万大军),东吴军队至少有十多万到二十万(孙权进攻合肥就出动了十万大军),而曹魏全国兵力也不过三四十万这个量级(赤壁之战出兵加降兵二十万,此后每一方面作战也不过数万人)。但等到三国末期,蜀汉军队依然只有十万出头,东吴军队不过二十三万,比几十年前差距不大;而曹魏军队已经到了五十万以上。司马昭单是平定淮南三叛就调集了二十六万大军;邓艾钟会灭蜀出动了十八万大军,司马昭还带着11万以上的作为后应,再加上同期驻防东吴和国内的兵力,可见魏军确实已经拉大了蜀吴两国的差距。
因此,“通过相持,拉大双方差距”是魏国一项有效的战略,这也可以解释为何魏军不过早进攻吴蜀。同样,这也反过来说明诸葛亮、姜维、诸葛恪等人不断北伐的合理之处。如果不北伐,就只能眼睁睁坐看魏国实现这个拉大差距的战略,北伐的话至少还能趁实力差距没那么大的时候搏一搏,至少延缓这个差距的增速。
魏国40多年才灭蜀的另一个原因是蜀汉之前尚有外来的人才。蜀中天府之国,在中国历史早期,更多出文人学士,但军政方面的大牛并不多。以两汉为例,蜀中多有司马相如、杨雄这些名士,却没什么名臣良将。因此蜀汉集团的军政大业,主要靠川中的外省人士(有的是刘焉父子时代入川的,如李严;大部分是刘备征战各地带入川的),这些很多都是跟随刘备数十年,大浪淘沙胜出的精英。如果这时魏国发动进攻,很可能被这些人迎头痛击。随着时间的推移,这些外省人士逐渐老病死去,而新生的二代三代很难延续祖父辈的能力,整个蜀汉人力衰弱,就更容易拿下。
魏国40多年灭蜀的最后一个原因是魏国本身内部发生了争权夺利的动荡。239年曹睿去世后,首先是司马懿和曹爽的对峙。249年司马懿发动高平陵政变灭掉曹爽后,司马氏和曹氏的斗争高潮迭起,先是司马懿斗王凌,然后是司马师废曹芳、灭毌丘俭,再后来有司马昭灭诸葛诞、杀曹髦……这些内斗一方面损耗了曹魏的国力,更重要的使得曹魏高层始终腾不出手来对付蜀汉。
直到260年司马昭杀死曹髦,改立曹奂之后,又过了三年,基本上理清楚了内部关系,这才腾出手来对蜀汉动手。而此时蜀汉方面因为姜维和黄皓、诸葛瞻三家的矛盾,导致国防体系处于分崩离析,故而被魏军长驱直入汉中。即使如此,魏军也用了差不多一年才攻灭蜀汉。