在我的代碼中,我只是使用格式字符串打印相同的對象。但是,結果並不相同。根據我的見解,我認爲結果應該是97 97 97
,但結果是97 98 99
。使用格式字符串的打印類
輸出發生了什麼?我實際上並不瞭解發生了什麼。你能解釋一下嗎?
class A {
public:
int a, b, c;
A() {
this->a = 97;
this->b = 98;
this->c = 99;
};
};
int main(int argc, char **argv) {
A a;
printf("%d %d %d\n", a, a, a);
return 0;
}
C#,C++和C是不同的語言。對於C++,使用%d打印類對象是未定義的行爲。由於缺乏對該主題的最低限度知識,投票結束。 –
這張海報顯然是一個初學者,所以我不建議關閉,而應該指出錯誤和錯誤,應該做些什麼以及在哪裏獲得啓發性信息......(PS:它傲慢的精英主義想要結束總結) – slashmais
我認爲OP *已經展示了至少最少的知識,並努力解釋期望和實際結果以及最少的編譯代碼示例。這個問題唯一的問題是不恰當的標籤,它已被糾正。 –