在这段代码中,我生成了特定范围内的随机数,但我希望数组的输出必须是
m1,m1,m3,m1 ..
我的意思是在每个随机生成的数字上添加“host”这个词,请问这个怎么办? 这是代码
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (int argc, char *argv[])
{
int a[50];
srand(time(NULL));
a[i] = rand() % (3 + 1 - 1) + 1 ;
printf( " %d\n", a[i]);
}
答案 0 :(得分:3)
在您的代码中,a
是一个整数数组,因此它无法保存字符串值。
如果您只想 打印该值,请在host
本身的格式字符串中使用printf()
,例如
printf( "No. of random selected node = host%d\n", a[i]);
如果您希望生成值并使用,请以某种方式使用缓冲区并使用snprint()
填充内容。
snprint(buf, 8, "host%d", a[i]);
以上内容会将host101
,host103
等值添加到buf
中,作为字符串。请注意,在这种情况下,buf
必须足够大才能保留提供的尺寸(8
。)
注意:切勿在上面的代码中使用像8
这样的幻数,仅用于说明,使用MACRO定义,至少。