-3

首先,我只是一个初学者

int num;
cin>>num;

如何检查数字是否为数字且仅为0

与常规 exp 有什么关系?有人可以教我吗?

4

1 回答 1

1

仅当流包含可解析的字符序列时,提取才会成功。正确的用法是这样的:

int num;

if (std::cin >> num)
{
    // OK, use "num". E.g. "if (num == 0)", etc.
}
else
{
    // Error, no number could be extracted
}

如果提取失败,则流保持失败状态,需要重置(使用clear()),然后对其进行进一步操作才能成功。

(通常最好从流中提取整作为字符串(在耗尽流之前永远不会失败)std::getline,然后分别处理每一行。)

于 2012-10-29T23:34:45.000 回答