在c中生成随机字符串

问题描述 投票:0回答:1

在这段代码中,我生成了特定范围内的随机数,但我希望数组的输出必须是

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]);

}
c arrays string
1个回答
3
投票

在你的代码中,a是一个整数数组,所以无论如何它都不能保存字符串值。

  • 如果您只想打印该值,请在host本身的格式字符串中使用printf(),如 printf( "No. of random selected node = host%d\n", a[i]);
  • 如果您希望生成和使用该值,请以某种方式获取缓冲区并使用snprint()填充内容。 snprint(buf, 8, "host%d", a[i]); 以上将把host101host103等值放在buf中,作为一个字符串。请记住,buf必须足够大才能保持所提供的尺寸(在这种情况下为8)。 注意:切勿在上面的代码中使用像8这样的幻数,这只是为了说明,至少使用MACRO定义。
© www.soinside.com 2019 - 2024. All rights reserved.