-1
昨天我遇到了一個奇怪的行爲,在C++中的一個char指針數組的情況下。數組的char指針初始化奇怪的行爲
下面是代碼示例:
int main() {
char *args[] = {(char *) std::to_string(12345).c_str(), (char *) std::to_string(12346).c_str()};
printf("%s %s\n", args[0], args[1]);
return 0;
}
,輸出是:
12346 12346
我想,答案應該是 「12345 12346」。任何幫助? 我唯一的編譯標誌是-std = C++ 11,我使用g ++。
此外,你不應該拋棄的常量在char *從c_str返回 –
爲了最有幫助,您應該展示如何更正代碼。 – Barmar
非常感謝你們。現在有道理。 – balexios