在scanf中你最好不要用那么复杂的,你直接写scanf("%ld%ld\n",&a,&b);就可以了,你的两个问题是,在scanf中出现的比如你的a=之类,这些在你要求输入的时候你也要打,比如你的意思是输入数字2,但是如果你写sccanf("a=%ld",&a);的话,那么你在输入的时候要打a=2,不能只打2。第二个问题是,scanf语句是需要&的,因为输入的时候是输入地址,加入&就代表了地址。 long int 和int差了很多,long int的数字范围是-2147483648~2147483647,int的数字范围是-32768~32767,一个是占四字节,一个是占2字节,只是你的数字小而已,所以没感觉出来