Блог пользователя FAHEEM_KAHN

Автор FAHEEM_KAHN, история, 3 часа назад, По-английски
#include <iostream>
using namespace std;
int main() {
    int a=1;
    int b;
    b = ++a * ++a;
    cout<<"a: "<<a<<", b: "<<b; cout<<endl;

    a=1; b = a++ * a++;
    cout<<"a: "<<a<<", b: "<<b; cout<<endl;

    a=1; b = ++a * a++;
    cout<<"a: "<<a<<", b: "<<b; cout<<endl;

    a=1; b = a++ * ++a;
    cout<<"a: "<<a<<", b: "<<b; cout<<endl;
}

OUTPUT:
// a: 3, b: 9
// a: 3, b: 2
// a: 3, b: 6
// a: 3, b: 3

Can anyone explain why, this is the output?

Теги cpp
  • Проголосовать: нравится
  • -5
  • Проголосовать: не нравится

»
2 часа назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Modifying a variable more than once within the same expression (without sequence points or inter-variable sequencing) results in undefined behavior

  • »
    »
    42 минуты назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    tnks