c - 在确定字符数的同时打印数组

标签 c arrays

我的目的是在 0 和 1000 之间随机分配一个数字,并打印该数字有多少个字符?然后打印另一个数字并将其字符数添加到字符数总数中。下面的代码编译并且运行后Windows给出运行时错误。在代码中找不到错误。我的错误是什么?

int main()
{
    char str [1000];
    int i=0;
    int k,a=0;

    printf("Number \tTotal\n");
    for(k=0;k!=10;k++)
    {
        i=rand()%1000;
        str[k]=i;
        printf("%s",str[k]);
        a+=strlen(str);
        printf("%s \t%d\n",str[k],a);
          }       


    getch();

    return 0;




    }

最佳答案

您需要先将数字转换为字符串。

i = rand() % 1000;
length = snprintf(str, 1000, "%d", i); // Convert integer to string
printf("%s", str); // Print current string
a += length; // Add length
printf("%s \t%d\n", str, a); // Print current string and length so far

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

相关文章:

c - 生成大小超过 8 MB 的大型十六进制数数组

PHP/MYSQL 替换字典数组中键的文本

c程序输出

c - memcpy 和共享内存结构

java - 查找两个字符串数组的相似性

java - 了解 equals 方法的模式和帮助

c++ - GDB 显示堆栈帧的函数参数不正确

c - Win32 C/C++ 添加一个按钮到桌面

c - 在c字符串中输入多个单词

javascript - 如何从 Controller 选择插件中选择多个值