C++ stack around variable....错误

#include <iostream>
using namespace  std;

int main() {
    cout << "Hello, World!" << endl;
    char buf[2];
    sprintf(buf,"%d",12);
    cout << buf <<endl;
    return 0;
}

崩溃,

原因:

char buf[2];//大小为2

sprintf(buf,"%d",12);//12转化为"12"(以""结尾),大小为3,数组下标越界;

怕什么真理无穷,进一寸有一寸的欢喜。---胡适
原文地址:https://www.cnblogs.com/hujianglang/p/14009840.html