考虑下面的代码:++返回表达式用C
float validateEntry()
{
string entry;
float value;
getline(cin, entry);
value = atof(entry.data());
return ((isNumber(entry) && value >= 0) ? i
: (cout << "Enter valid amount: ", validateEntry())
}
为什么最后一行(逗号分隔的表达)允许的,以及是否有可与在C++ return语句可以使用其他表达式?
我在使用逗号的大多是疑惑,想知道这个表达式语法定义(我不知道它的存在,我也不会知道在哪里可以找到)。我能用无限多的代码填充最后一个表达式吗?如果是的话,有什么限制,要求等?
为什么你认为它不应该被允许的? – 2012-03-15 00:43:18
顺便说一下三元运算符'? :'不是'if'的简写。 'if'允许有条件地执行代码(任何代码)。三元运算符**根据条件返回**两个值之间的一个值。 – 2012-03-15 00:45:10
对不起,一个完全不正确的标题,因为我发布之前忘了修改它。 – skippr 2012-03-15 00:47:00