关于c中的memset()函数?

Ven*_*ath -1 c memset

对于这个程序,我得到一些奇怪的输出?

    char str[]= "almost every programmer should know memset!";
    memset(str,'*',5);
    puts(str);
Run Code Online (Sandbox Code Playgroud)

期望的输出:*****几乎每个程序员都应该知道memset!我观察到的:*****每个程序员都应该知道memset!

对于6的倍数,只显示正确的输出.

Gop*_*opi 6

您看到的输出是正确的:

memset()将设置'*'为数组的前5个字节str.字符串的其余部分保持不变.