char str[12];
sprintf(str, "iv_content_%i", payType - 1);
上面的代码在运行的时候会警告Run-Time Check Failure #2 - Stack around the variable 'str' was corrupted.原因:
char* 都会以'\0'字符结束,也就是'\0'会占用一长度,上面的代码在语法检查的时候不会提示错误,在运行之后才会警告说变量周围 堆栈损坏。假如这样写:char str[12] = "123456789011" ,编译器会直接提示语法错误。