在这段代码中,我生成了特定范围内的随机数,但我希望数组的输出必须是
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]);
}
在你的代码中,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定义。