According to USA Today, researchers at Cornell University did a survey they called the "McSubway Project." They stopped 300 people as they finished lunch at both restaurants, and asked what they'd eaten and how many calories they thought they'd consumed. Then they subtracted the leftovers from the total calorie count to find out how many calories these people actually ate.
And guess what! Everybody underestimated their calorie consumption. But the differences were interesting. Customers at McDonald's ate about 710 calories - and guessed they had eaten 670 a 40 calorie difference. But people at Subway ate about 560 calories. Better than McDonald's eaters - BUT they thought they'd eaten only 335 a whopping 225 calories below their actual calorie count!
Why the discrepancy? Customers at McDonald's knew they weren't eating very healthy so their estimated calories were closer to the mark. But Subway eaters experienced the "halo effect". Meaning, they thought they were eating better than they actually were.
Bottom line: Don't assume you're eating fewer calories and fat unless it says so on the label.