#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
int main(void)
{
char test[5]=
{
'.', 'C', 'm', 's', 'e',
};
int i, j, r;
char tab[10][10];
srand(time(NULL));
for (i=1; i <= 5; i++)
{
for (j=1; j <= 5; j++)
{
r = rand() %5;
tab[i][j] = test[r];
}
}
printf("%c ",tab[i][j]);
return 0;
}
但是当我尝试运行它时,我在控制台中唯一得到的就是&#34; V&#34;。 谢谢。
答案 0 :(得分:0)
你必须改变如下
for (i=1; i <= 5; i++)
{
for (j=1; j <= 5; j++)
{
r = rand() %5;
tab[i][j] = test[r];
printf("%c ",tab[i][j]);
}
}
答案 1 :(得分:-1)
你的printf在循环外面,所以它只打印最后一个条目。所以将printf引入循环,如下所示:
for (i=1; i <= 5; i++)
{
for (j=1; j <= 5; j++)
{
r = rand() %5;
tab[i-1][j-1] = teste[r];
printf("%c ",tab[i-1][j-1]);
}
}
另请注意,Array从索引0开始而不是1,因此请按照上面的代码更改数组赋值。