没错,may 和 can 都可以表示推测,但所用句型不同:在肯定句中通常用may不用can,在疑问句中通常用can不用may:
He may be right.
Can he be right?
在否定句中两者都可以用,但意思不同:can’t表示“不可能”,may not表示“可能不”:
She can’t be your daughter. 她不可能是你女儿。
He may not agree. 他可能会不同意。
can’t除表示推测外,还可表示能力,意为“不能”;may not除表示推测外,还可以表示允许,意为“不可以”“不允许”。如:
I can’t decide whom to invite. 我不能决定该邀请谁。
Books may not be taken out of the library. 图书馆的图书不准带出馆外。