close


i=i++,

因為這Undefined behavior,

換來的是深刻的印象阿。

這行程式就給我以前見達出奇蛋的廣告,每次都有不一樣的驚喜。



EX:
#include <iostream>

using namespace std;

int main()
{
    int i = 0;
    i=i++;
    cout << i;
    system("pause");
    return 0;
}

in Dev-C i = 0
    GCC 4.0.1 i=1
    GCC 3.4.2 i=0
    VC6 i=1

#include <iostream>

using namespace std;

int main()
{
    float i = 0.4;
    i=0.1+i++;
    cout << i << endl;
    float j = 0.4;
    j = 0.5+j++;
    cout << j << endl;
    system("pause");
    return 0;
}
in Dev-C i=1.4
                 j=0.9

當然跑出來是甚麼值也不重要,

因為Undefined behavio本來就甚麼都有可能。

arrow
arrow
    全站熱搜

    grant823 發表在 痞客邦 留言(0) 人氣()