关于字符串和字符数组,下列说法正确的是( )。
char str[] = "GESP"; int len1 = sizeof(str); int len2 = strlen(str);
上面程序能够正确执行,len1 与 len2 相等。
len1
len2
char str1[4] = "GESP"; char str2[4] = {'G', 'E', 'S', 'P'};
这段程序将能够正确执行。
char str2[4] = {'G', 'E', 'S', 'P'}; strcpy(str2, "HELLO,GESP"); cout << str2 << endl;
这段程序即使能够运行,但是存在覆盖数组以外的内存空间的行为,可能会引起严重错误。
char dest[4] = {'G', 'E', 'S', 'P'}; char src[] = "HELLO"; strcat(dest, src); cout << dest << endl;
这段程序能够正确执行,不存在数组越界行为。