c - 从 C 中的字符串数组打印

标签 c arrays string

我编写了以下程序:

char name[100], firstDigits[13], cards[5000][16];

srand(1019336);
int i, j;
char c = '0';
for(i=0;i<13;i++){
    c = '0' + (rand() % 43);
    while(c > 57 && c < 65){
        c = '0' + (rand() % 43);
    }
    firstDigits[i] = c;

}
printf("%s \n", firstDigits);
for(i=0;i<5;i++){
    for(j=0;j<13;j++){
        cards[i][j] = firstDigits[j];
    }
}
for(i=0;i<5;i++){

    for(j=13;j<16;j++){
        c = '0' + (rand() % 43);
        while(c > 57 && c < 65){
            c = '0' + (rand() % 43);
        }
        cards[i][j] = c;
    }
}

printf("%s \n", cards[1]);

第一个循环生成一个包含 13 个字符的字符串,其中包含 0-9 和 A-Z。 然后我想生成一个包含 5000 个字符串的数组,其中每个字符串的前 13 个“字母”是firstDigits[13] 的字母。问题是,当我尝试打印上面这样的字符串之一时,我得到了数组中所有字符串的输出!为什么会发生这种情况?

最佳答案

C 字符串必须以 null 结尾。 Printf 将输出字符,直到达到空值为止。生成随机字符串后,在末尾添加“\0”。当然,您必须将数组大小增加 1 才能容纳它。

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

相关文章:

c - 了解 Apache 模块目录配置合并函数的参数

c++ - 谷歌 Protocol Buffer 消息到字节数组 C++

javascript - 在javascript中定义数组

python - 在列表的列表中操作字符串

C语言编程,atoi函数

java - 从被调用方法中获取局部变量的值而不返回

arrays - Ruby 数组和排序问题

javascript - React-Native for-loop through large size array 性能问题

javascript - 查找字符串javascript中出现频率最高的字符

algorithm - 比较 2 个文本文件 : what and where changes were made?