【发布时间】:2016-11-02 21:15:45
【问题描述】:
这会编译并运行,但会为“a”生成垃圾值。为什么“a”不像“b”那样递增?为什么会产生垃圾?
for(a,b=0; a,b != 55; a,b++)
{
//outputs garbage
std::cout << "a = " << a << std::endl;
//outputs expected results
std::cout << "b = " << b << std::endl;
}
【问题讨论】:
-
你需要学习 c++ 语法——特别是逗号操作符不会像你认为的那样做。
-
当然可以!但是,它的工作方式可能与您的预期不同。您希望该程序如何运作?
-
对我有用,你期待什么输出?
-
@DaveB 为了迂腐,它对你不起作用,因为它包含未定义的行为。
a变量未初始化。 -
@DaleWilson 好点,我应该说我得到了预期的输出。
标签: c++