C语言中,“%5d”是的意思是以整形来格式化参数,并且当整数字符数少于5个情况下,多格式化一定数量空格来填充,以使得空格和整数所用字符数的总和达到至少5个。
C语言中,“%5d”一般用于printf函数和sprintf函数。它们格式化字符串时,可以指定串的格式,在格式串内部使用一些以“%”开头的格式说明符来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串。
格式化数字字符串sprintf 最常见的应用之一莫过于把整数打印到字符串中。同时,可以选择宽度,不足的左边补空格:例如“sprintf(s, "%4d%4d", 123, 4567)” 会产生字符串" 1234567"。
扩展资料:
C语言中,常见转换字符:
1、%%:印出百分比符号,不转换。
2、%c:字符输出到缓冲区,不转换。
3、%d:整数转成十进位。
4、%f:倍精确度数字转成浮点数。
5、%o:整数转成八进位。
6、%s:字符串输出到缓冲区,不转换。
7、%x:整数转成小写十六进位。
8、%X:整数转成大写十六进位。
参考资料来源:百度百科-sprintf
rand()函数会产生范围为0至32767的随机数,% 让它与5求余,变成0至4的随机数,不过每次启动程序产生的随机数都相等,在用srand(unsigned int)输入种子数后产生的才不一样,一般都用的 srand((unsigned int)time(NULL)) 产生种子。(记得要包含 time.h 库文件)
扩展资料:
当提供的种子相同时,随机数序列也是相同的。而且当种子为1时,与不使用srand()函数时一样的,也就是说rand()函数默认情况下初始化种子值为1;
在stdlib.h 中这两个函数的原型是:
int rand()
void srand (unsigned int)
srand(time(0))i=rand()
或者srand(time(NULL))
这样就是一个伪随机数。
rand()产生伪随机数,srand函数提供种子,种子不同产生的随机数序列也不同,所以通常先调用srand函数 time()返回的是系统的时间(从1970.1.1午夜算起),单位:秒,种子不同当然产生的随机数相同几率就很小了。
参考链接:
rand()-百度百科