#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char p [] = "TEST";
strcat (p, "VAL");
cout << p;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我理解的是正确的,那么像char p [] ="TEST"这样的陈述; 将从堆栈中分配空间.当我为这样的字符串调用strcat()时如何调整p []的存储以容纳额外的字符?
最后的cout打印"TESTVAL".这样调用strcat是否有效?如果是,这是如何工作的?我的理解可能有问题,但感觉我失去了联系.所以这很容易成为一个愚蠢的问题.请说清楚.
未调整存储,调用无效,并且代码的行为未定义.