Obama noted on Friday that when he said in July he would meet with such leaders without setting any conditions, Clinton called his stance "irresponsible and frankly naive."
Questioned Thursday by a voter in New Hampshire, Clinton said twice that she, too, would negotiate with Iran "with no conditions."
"I would engage in negotiations with Iran, with no conditions, because we don't really understand how Iran works. We think we do, from the outside, but I think that is misleading," she said.
Obama said Friday, "So I'm not sure if any of us knows exactly where she is standing on this issue. But I can tell you this - when I am president of the United States, the American people and the world will always know where I stand."
Edwards' campaign chimed in from North Carolina, also noting the earlier Clinton comment and her new statement.
"You can't have it both ways - on this or any other issue," said a statement released by Edwards communications director Chris Kofinis. "Senator Clinton needs to be honest with the American people about her plans."
The Clinton campaign said she had not changed her position.
While she believes in diplomatic engagement with Iran, "she does not agree with Senator Obama ... that the United States president should precommit to meeting directly with Mr. Ahmadinejad," said spokesman Howard Wolfson. That was a reference to Iran's president.
Obama, speaking Friday at Drake University in Des Moines, gave a harsh assessment of Clinton's foreign policy views.
He criticized the New York senator for her recent vote designating Iran's Revolutionary Guard as a terrorist organization, saying she was repeating a mistake she made in voting to authorize the Iraq war.
"Senator Clinton is the only Democratic candidate for president who supports this amendment," Obama said, calling it a "blank check" for President Bush to attack Iran.
"I don't want to give this president any excuse, any opening for war," said Obama who missed that vote because he was campaigning in New Hampshire.
Obama, noting that the vote to authorize the Iraq war came five years ago this week, said Democrats in Congress - including Clinton and Edwards, who was then a North Carolina senator - bear responsibility for what's happened since.
"Senator Edwards voted for the war in 2002," Obama said. "He has renounced that vote, instead of pretending that it was a vote for anything but war."
He said Clinton's argument that she was voting for more inspections or diplomacy are misleading. "All of us know what was being debated in the Congress in the fall of 2002," he said, again stressing his early opposition to the war while he was a state senator in Illinois.
Obama said too many leading Democrats engage in conventional thinking on foreign policy issues. He added that Democrats must stop believing that they "can't win elections unless they talk, act and vote like Republicans when it comes to foreign policy and national security."