我用 C++ 编写了一个程序,其中我使用了两个 char 数组,我在声明时初始化它们,当我使用strlen()
函数计算它们的长度时,我得到了奇怪的输出。代码如下所示
#include<stdio.h>
#include<string.h>
#include<string>
using namespace std;
char consonant[] = {'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z'};
char vowel[] = {'a', 'e', 'i', 'o', 'u'};
int main()
{
int lenv, lenc;
lenc = strlen(consonant);
lenv = strlen(vowel);
printf("lenv = %d and lenc = %d\n", lenv, lenc);
return 0;
}
在 ideone 上运行时上述程序的输出是
lenv = 26 and lenc = 21
当使用代码块在 Windows 上运行时
lenv = 5 and lenc = 26
请告诉我这种奇怪行为的原因......