显然是高精度了。我记得长整数指的是long型、超过long还有long long、以及__int64 不过显然题目不是这个意思。我想LZ对加法的竖式应该很熟悉、高精度就是用的竖式的原理。我只给你算法、不提供代码、自己写代码才是最好的。首先、输入的时候就不能直接scanf整形了、那就以字符串的形式输入--我想LZ你会的。然后建立四个整形数组、其中两个表示所要相加的数、一个表示进位、一个表示结果。由于两个个位数相加绝对不会超过18、所以最后进位的数组存成bool型也可以。首先把输入的两个字符串分别转到两个整形数组里、注意要从尾开始转、这样两个整形数组的下标就按照从0开始依次表示个十百千...的顺序来存两个数了、而且严格按位对齐。于是就可以for一遍、每个数组位相加(注意数组初始化设为0、这样加到最高位就可以了)。相加的时候判断是不是大于10、如果大于10、就减去10、然后这一位数组下标+1的那一位的进位bool数组由0变成1。新建一个输出的数组。最后再for一次、把结果数组遍历、如果有进位就+1、如果继续进位就直接在下一位操作。导入到输出数组、printf就ok