我的目的是在 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/