c - 在 C 中打印字符数组

标签 c arrays

我创建的一个简单函数遇到了一个特殊问题。此函数生成一个介于 0-14 之间的随机数,然后使用该随机生成的数字作为大小创建一个数组,并用字符“x”填充它。

我遇到的问题是,当我调用该函数时,它会在 x 之后随机显示符号或数字。

我最初将数组的大小声明为 15,但认为是剩余的插槽导致了此显示问题。但是,更改功能后仍然存在。

这是我当前使用的函数:

void application()
{
    int randSize, i;

    srand((unsigned)time(NULL));
    randSize = (rand() % 15);

    char array[randSize];
    char *bar = array;

    for(i=0; i< randSize; i++)
            array[i] = 'x';

    printf("%s | ", bar);
}

最佳答案

在 C 语言中不需要以 \0 结束字符串吗? )例如:

char array[randSize + 1];
for (i=0; i < randSize; i++)
   array[i] = 'x';
array[i] = '\0';

(更新此内容是因为您确实可能想要获取字符串的有用部分 randSize length)。

关于c - 在 C 中打印字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12676804/

相关文章:

c - 如何检查Kgdb是否启用?

c++ - 函数抛出写访问异常

arrays - 通过 Postman 发送 JSON 会导致我的 Node.js 服务出现错误

c++ - 数组下标运算符 ([ ]) 对数组有什么作用?

arrays - 如何在 Ruby 中找到哈希数组的平均值

javascript - 将对象数组及其属性转换为数组

调用 Lua 函数

c++ - 使用 C++ 样式转换以所需精度执行表达式的正确方法是什么?

c - 如何使用信号函数调用其他函数?

ios - 如何访问此 Plist 中的数据?