我的問題是爲什麼下面的代碼片段不會崩潰?當緩衝區很小以容納一些數據時會發生什麼
int main(int argc, const char * argv[])
{
const char* source = "SomeText";
char* dest = (char*)malloc(sizeof(char)); // isn't this wrong ?
strcpy(dest, source);
printf("%s\n", dest);
free(dest);
return 0;
}
這確實是錯誤的,並調用未定義的行爲。 – jpw