不懂后面为什么是345 而不是345 50

scanf("%2d %5d",&numl ,&num2);输入数据如下。

50 12345

值50赋给了num1,而12345赋给了num2。假设输入的数据如下。

12345 50

那么变量numl被赋的值是12(因为是%2d),而变量num2被赋的值是345(12345未读完的部分)。

因为你用空格隔开了,如果是345 50的话就不是整形了,你可以试试不用空格隔开,就是前面读取前两个,后面读取接下来五个了